Re: [問題] 試問backgroundworker與thread兩個類別 …

看板C_Sharp作者 (市政府7F)時間17年前 (2009/01/06 15:33), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《teamspike (市政府7F)》之銘言: : ※ 引述《regionbbs (小朱)》之銘言: : : BackgroundWorker 只是把跨執行緒的作業簡化而已, : : 用 ReportProgress() 和處理 ProgressChanged 事件就能做到了。 : : 基本的原理還是用函式委派和 Control.Invoke() 來做。 : 感謝各位的解答,讓我對於跨執行緒的做法有了初步的概念 : 不過現在遇到了新的問題 : 我發現只要有兩個以上的執行緒同時存取主執行緒的同一個控制項 : (在此是使用MediaPlayer物件) : 就算是使用安全性呼叫(使用委派) : 兩個執行緒Start()以後會同時卡住 : 可是執行個別單一的執行緒都可以順利執行 : 是不是我遺漏了些什麼步驟? : 謝謝 其中一個執行緒是使用Label.InvokeRequired屬性來做delegate 另一個是用MediaPlayer.Dispatcher.CheckAccess()方法來做delegate -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.216.193

01/06 15:58, , 1F
是不是要在適當的地方加Thread.sleep()呢?
01/06 15:58, 1F

01/06 17:14, , 2F
似乎是遇上race condition
01/06 17:14, 2F
文章代碼(AID): #19OmbdNp (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #19OmbdNp (C_Sharp)