作者clarkman (涼雨)
看板C_Sharp
標題[問題] Thread間通訊
時間Thu Jul 21 18:15:02 2011
我想要在不同的Thread傳遞訊息
以往都是在MFC使用SendMessage或PostThreadMessage等等的方式
但是我查了一些資料
好像C#大部分都是用Invoke+Delegate的方式處理
還有查到一些零零散散的方式,但感覺起來都是需要UI的Thread來搭配
但是我現在要處理的兩個Thread不是UI Thread,沒辦法使用Invoke
目前是想要在A Thread將命令推入Queue裡,然後在Thread B撈出命令執行
因為這兩個Thread會一直處理其他事情,所以應該也沒辦法使用Block Queue?
所以就想說在A直接傳Message到B,B去處理就好
請問C#有處理Message的方法嗎?
找不太到,需要一些提示,是有看到一些網頁是說沒有,只能用WIN API
可是總會覺得.net應該不會沒有這種還滿重要的東西吧?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.72.229.163
→ james732:兩個執行緒如果是同一隻程式的話,可以直接傳遞資料吧 07/21 18:34
→ clarkman:一樓,我怕同時存取同參數,會出問題,想說用message 07/21 19:57
→ clarkman:二樓,感謝,我會去研究看看 07/21 19:57
→ clarkman:二樓..我去查,好像你推薦的方式..也是需要UI.. 07/22 09:37
→ james732:如果不太複雜的話就直接傳遞 & 加上 lock 07/23 18:09