找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
感激所有對伊莉作出奉獻的人尊貴會員無限使用任何功能安全提問(回答) 和 永久尊貴會員 事宜
巨乳無修人妻七龍珠一拳超人fc2
地下(mp4@mg@肢体を洗百英雄傳姉がメイbright psprd1085

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]無職轉生 第二季1

[繁]無職轉生 第二季1

[繁]轉生貴族憑鑑定技

[繁]轉生貴族憑鑑定技

[繁]關於我轉生變成史

[繁]從Lv2開始開外掛
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 4817|回復: 2
打印上一主題下一主題

[問題]關於 c#.net 中的thread Invoke 問題[複製鏈接]

Rank: 1

帖子
172
積分
144 點
潛水值
33788 米
跳轉到指定樓層
樓主
發表於 2011-8-29 10:13 AM|只看該作者|倒序瀏覽
最近在寫 tcp 程式時, 在網路上找到一些多緒方法

1.
  1.    
  2. Thread NewThread = new Thread(new ThreadStart(NewThreadMethod));   //建立測試用的執行緒
  3.             NewThread.Start();  //啟動測試用的執行緒
複製代碼


2.
  1. MethodInvoker mi =
  2. new MethodInvoker(RunsOnWorkerThread);


  3. mi.BeginInvoke(null, null);
複製代碼



請問這兩個方法有什麼不一樣,
目前的理解, 從msdn上來看
Invoke 是具執行緒安全可以直接更新 form
比較常看到的
Thread 中用
Invoke 去更新 windows form 的資料
這樣的話直接用 BeginInvoke 去建立非同步委派不是比較直接??

所以想請教一下這兩個方法, 本質上及應用的條件和場合有什麼不一樣??...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0

使用道具檢舉

Rank: 2Rank: 2

帖子
381
積分
885 點
潛水值
18312 米
頭香
發表於 2011-8-30 10:22 PM|只看該作者
1. Delegate.Invoke - 同步呼叫,原執行緒會等待被Invoke的工作執行完畢再繼續自己的工作
2. Delegate.BeginInvoke - 非同步呼叫,原執行緒會繼續往下執行自己原本的工作,系統從ThreadPool取得另一個thread instance來執行被Invoke的工作
3. Control.Invoke - 使用UI thread來執行被Invoke的工作,原執行緒會等到執行完畢再繼續自己的工作
4. Control.BeginInvoke - 使用UI thread來執行被Invoke的工作,原執行緒會繼續往下執行自己原本的工作
...
瀏覽完整內容,請先 註冊登入會員
什麼都會,什麼都不會!

使用道具檢舉

Rank: 2Rank: 2

帖子
425
積分
693 點
潛水值
20990 米
3
發表於 2011-12-13 10:49 AM|只看該作者
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
樓上大大講的很清楚 最近也在開發多執行緒的視窗專案  UI上面的thread處理很重要 因此看了一些關於delegate與invoke的處理

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部