定時器會阻塞線程嗎 mfc線程和定時器有什么區(qū)別?
mfc線程和定時器有什么區(qū)別?計時器是在特定時間執(zhí)行一次代碼。它的執(zhí)行完全取決于時間。當線程操作系統(tǒng)為其分配內(nèi)存空間后,它將像主線程一樣進入線程隊列等待。因此,計時器是搶先執(zhí)行的。只要時間到了,就會因
mfc線程和定時器有什么區(qū)別?
計時器是在特定時間執(zhí)行一次代碼。它的執(zhí)行完全取決于時間。當線程操作系統(tǒng)為其分配內(nèi)存空間后,它將像主線程一樣進入線程隊列等待。因此,計時器是搶先執(zhí)行的。只要時間到了,就會因為優(yōu)先級高而立即執(zhí)行,這會影響程序的執(zhí)行速度,而線程不會和其他線程一起進入隊列。兩者的目的也不同。線程用于并發(fā)執(zhí)行,實現(xiàn)程序的同步,而計時器只做一些必須定期做的工作,比如刷新窗口
簡單地說
在windows下,當計時器到達時,它會發(fā)送一條消息,流程接收到消息后進行相應(yīng)操作。它的優(yōu)先級很低。在進程的時域中,直到重要消息被執(zhí)行,它才被執(zhí)行。所以普通定時器從不做一些不重要的事情,比如刷新屏幕。
線程與消息響應(yīng)機制無關(guān)。CPU將分別處理線程想要處理的事情。
如果你想談?wù)撀?lián)系,你可能想在業(yè)余時間完成一些事情
一般來說,一個應(yīng)用程序是一個進程,一個進程有多個線程。如果應(yīng)用程序只有一個線程,那么它就是主線程。主線程運行一些消耗資源的東西來下載大文件,主線程會阻塞,沒有辦法運行其他東西。如果把定時器放在主線程中,如果主線程中有一些消耗資源的東西,就會造成定時器不準確的現(xiàn)象。這兩件事是兩碼事,沒有可比性。