當我創建一個任務,如何在C#中獲取TPL任務線程的引用?
Task task = Task.Factory.StartNew(() => someMethod(args));
在C#4.0 +
,我怎麼能得到這個任務的線程(S)的參考?
是否有可能在創建任務的同一個線程中執行該任務或產生多個線程?
更新:
的原因是:
- 我想,以確定任務的線程調試器(和它的屬性的名稱)等
創建任務執行總是與創建任務的線程分離?
它是一個,零個還是多個線程?
它在同一個核心上執行嗎?
知道,因爲,例如,我可以把睡在主線程的思想,我凍結了後臺工作是很重要的
更新:
有用的答案:
你不應該需要做的風險。你想解決什麼問題? – SLaks 2013-03-11 14:07:36
據我所知,你不能那樣做。不能保證任務會產生一個新的線程,它可以運行在它創建的同一個線程上。此外,任務(可能)可以在多個線程之間分割。但是我在這裏和@SLaks在一起,關於這種方法有些問題。 – 2013-03-11 14:08:32
答案:(1)肯定,但爲什麼,(2)是,(3)是。 – user7116 2013-03-11 14:08:45