这个线程只有简单的while(1)语句
11 个解决方案
#1
线程里面不能是空循环,要不然会占用所有的CPU时间片,导致死机的。
你可以在线程的while里面添加sleep或者其他阻塞的函数
你可以在线程的while里面添加sleep或者其他阻塞的函数
#2
while(1)把cpu占完啦,不想做什么里面也要加个Sleep(1)啊
#3
两位 LS 已经说的很清楚了,Sleep 语句是不能少的。
#4
但是我在里边加入了if判断语句,但是仍然出现死机状态,
#5
谢谢二楼的回复,
#6
必须用 Sleep()
#7
知道了
但是现在出现另外一个问题,请教一下:
一个全局变量,我在界面消息响应中对其进行更改,而在一个线程中基于这个全局变量进行if判断,使用CMutex进行线程间消息同步,发现线程阻塞,请问这是为什么?
但是现在出现另外一个问题,请教一下:
一个全局变量,我在界面消息响应中对其进行更改,而在一个线程中基于这个全局变量进行if判断,使用CMutex进行线程间消息同步,发现线程阻塞,请问这是为什么?
#8
CPU没时间处理其他事情了,没有SLEEP的话
#9
MUTEX 的确定用的没有问题?
或换其它的,如临界区之类的试试
#10
你还不如直接用个事件,然后需要线程处理就setevent,线程里面直接waitfor。
这样节省资源,又方便。
这样节省资源,又方便。
#11
谢谢楼上 的回复
#1
线程里面不能是空循环,要不然会占用所有的CPU时间片,导致死机的。
你可以在线程的while里面添加sleep或者其他阻塞的函数
你可以在线程的while里面添加sleep或者其他阻塞的函数
#2
while(1)把cpu占完啦,不想做什么里面也要加个Sleep(1)啊
#3
两位 LS 已经说的很清楚了,Sleep 语句是不能少的。
#4
但是我在里边加入了if判断语句,但是仍然出现死机状态,
#5
谢谢二楼的回复,
#6
必须用 Sleep()
#7
知道了
但是现在出现另外一个问题,请教一下:
一个全局变量,我在界面消息响应中对其进行更改,而在一个线程中基于这个全局变量进行if判断,使用CMutex进行线程间消息同步,发现线程阻塞,请问这是为什么?
但是现在出现另外一个问题,请教一下:
一个全局变量,我在界面消息响应中对其进行更改,而在一个线程中基于这个全局变量进行if判断,使用CMutex进行线程间消息同步,发现线程阻塞,请问这是为什么?
#8
CPU没时间处理其他事情了,没有SLEEP的话
#9
MUTEX 的确定用的没有问题?
或换其它的,如临界区之类的试试
#10
你还不如直接用个事件,然后需要线程处理就setevent,线程里面直接waitfor。
这样节省资源,又方便。
这样节省资源,又方便。
#11
谢谢楼上 的回复