MFC多线程问题

2025-04-25 06:48:43
推荐回答(2个)
回答1:

使用SuspendThread()和ResumeThread()函数,可以挂起和唤醒一个线程,调用这两个函数的可以是其他线程,也可以是本身。
睡眠也就是楼上说的Sleep()函数或SleepEx函数,这个只是暂时挂起线程一段指定的事件,用于线程和用户交互。当然,休眠也就是挂起了,这个挂起时间是不确定的,是需要ResumeThread()的。
说到底,休眠和睡眠都是挂起,只是时间确不确定和需不需要唤醒的问题。休眠是需要有线程唤醒的,睡眠自己的时间到了就自己醒了,这就是区别!

回答2:

1.线程调用Sleep()方法就可以“睡眠”一下,并且当休息时间到了的时候就可以自己继续工作,这是线程睡眠。
2.线程休眠状态就是线程挂起,线程自己调用 ResumeThread()进入休眠,停止运行,等待其它线程调用ResumeThread()唤醒,继续运行