+ -
当前位置:首页 → 问答吧 → 求教各位大虾一个关于AfxBeginThread的问题

求教各位大虾一个关于AfxBeginThread的问题

时间:2011-12-14

来源:互联网

AfxBeginThread能够为创建的线程设置时间片吗?怎么设置?

作者: LuoSY880329   发布时间: 2011-12-14

你可以通过sleep来实现
当你强制这个线程让出时间片的时候sleep(0)
一般你就sleep考虑自己问题吧

作者: wangweixu520   发布时间: 2011-12-14

引用 1 楼 wangweixu520 的回复:
你可以通过sleep来实现
当你强制这个线程让出时间片的时候sleep(0)
一般你就sleep考虑自己问题吧

现在小弟的问题,好像是程序没运行完,时间片用完了,所以想设置增加时间片长度

作者: LuoSY880329   发布时间: 2011-12-14

这个是CPU调度,是不是你线程处理有问题

作者: oyljerry   发布时间: 2011-12-14

首先我要说您的结贴率0%。望改进。

AfxBeginThread这个是MFC的类库的函数,他是创建后,自动释放的。时间片是操作系统控制的,你可以用SLEEP来处理。
或者你API来创建线程,你不用可以挂起,用时再换醒。

如果为了提高效率建议用线程池。

作者: zhongguoren666   发布时间: 2011-12-14

引用 2 楼 luosy880329 的回复:
引用 1 楼 wangweixu520 的回复:
你可以通过sleep来实现
当你强制这个线程让出时间片的时候sleep(0)
一般你就sleep考虑自己问题吧

现在小弟的问题,好像是程序没运行完,时间片用完了,所以想设置增加时间片长度


你是怎么知道程序没运行完,时间片用完的呢?

作者: mayudong1   发布时间: 2011-12-14

CWinThread::SetThreadPriority 设置线程优先级,时间片占用比例提高

作者: wjh173069597   发布时间: 2011-12-14

使用这个建议你先了解系统对于线程优先级调度的规则~

作者: wjh173069597   发布时间: 2011-12-14

谢谢各位大侠,我用sleep试了一下,可以设置时间片长度。不过不知可不可以根据程序运行的需要自动安排时间片长短,而不是人为设置

作者: LuoSY880329   发布时间: 2011-12-14

引用 5 楼 mayudong1 的回复:
引用 2 楼 luosy880329 的回复:
引用 1 楼 wangweixu520 的回复:
你可以通过sleep来实现
当你强制这个线程让出时间片的时候sleep(0)
一般你就sleep考虑自己问题吧

现在小弟的问题,好像是程序没运行完,时间片用完了,所以想设置增加时间片长度


你是怎么知道程序没运行完,时间片用完的呢?

我的是个控制台程序,运行后没有出现那个“PRESS ANY KEY TO CONTINUE”,愚以为是因为程序汉运行完,时间片用完了

作者: LuoSY880329   发布时间: 2011-12-14

这个是内核管理的

作者: VisualEleven   发布时间: 2011-12-14

引用 4 楼 zhongguoren666 的回复:
首先我要说您的结贴率0%。望改进。

AfxBeginThread这个是MFC的类库的函数,他是创建后,自动释放的。时间片是操作系统控制的,你可以用SLEEP来处理。
或者你API来创建线程,你不用可以挂起,用时再换醒。

如果为了提高效率建议用线程池。

受教了,谢谢,我试试这些方法

作者: LuoSY880329   发布时间: 2011-12-14