1. 程式人生 > >Windows下的執行緒通訊

Windows下的執行緒通訊

1. 首先我們想到的就是共享記憶體,比如說用全域性變數,各種event,但是用這種方式要記得加鎖;

2. 用訊息,但是要先建立訊息佇列;用SendMessage,PostThreadMessage之類的函式; 在接收訊息的執行緒寫:

    

 	MSG msg;
 	memset ( &msg, 0, sizeof ( MSG ) );
 	PeekMessage ( &msg, NULL, NULL, NULL, PM_NOREMOVE );
 	int ret = GetMessage ( &msg, NULL, NULL, NULL );
 	if ( msg.message == WM_QUIT )
 		return 0;

3. 用APC佇列, 《Windows核心程式設計》10.5.3節提起