主线程中可能有backgroundworker DoWork吗?我的意思是如果某个设备只有一个CPU,有可能发生吗?PS:我正在研究unity,所以运行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贡献1847条经验 获得超11个赞
不,这是不可能的。ABackgroundWorker
将始终在单独的线程上完成其工作。
到了只有一个 CPU 的系统。操作系统异步运行许多程序,每个程序可以有许多线程。操作系统将安排所有这些线程在任何可用的 CPU 上的某个时刻运行。这对于维持系统平稳运行至关重要,尤其是当系统只有一个 CPU 时。
- 1 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消