主線程中可能有backgroundworker DoWork嗎?我的意思是如果某個設(shè)備只有一個CPU,有可能發(fā)生嗎?PS:我正在研究unity,所以運(yùn)行Android & IOS & Windows 平臺。 System.ComponentModel.BackgroundWorker bw = new System.ComponentModel.BackgroundWorker(); bool inMainThread = false; int mainThreadId = System.Threading.Thread.CurrentThread.ManagedThreadId; bw.DoWork += (object sender, System.ComponentModel.DoWorkEventArgs e) => { // Is it possible equal true ?? inMainThread = mainThreadId == System.Threading.Thread.CurrentThread.ManagedThreadId; }
1 回答

回首憶惘然
TA貢獻(xiàn)1847條經(jīng)驗 獲得超11個贊
不,這是不可能的。ABackgroundWorker
將始終在單獨(dú)的線程上完成其工作。
到了只有一個 CPU 的系統(tǒng)。操作系統(tǒng)異步運(yùn)行許多程序,每個程序可以有許多線程。操作系統(tǒng)將安排所有這些線程在任何可用的 CPU 上的某個時刻運(yùn)行。這對于維持系統(tǒng)平穩(wěn)運(yùn)行至關(guān)重要,尤其是當(dāng)系統(tǒng)只有一個 CPU 時。
- 1 回答
- 0 關(guān)注
- 110 瀏覽
添加回答
舉報
0/150
提交
取消