C#4.5でのTaskとThread
TaskとThreadの使い分けなのですが
基本的にはスレッドよりタスクの方が軽いと言うことですが
よほどのことが無い限り、Taskクラスだけを考えておけばいいと言うことでしょうか
下のプログラムのように、アプリが起動している最中はずっと動作しっぱなしのスレッドを作るプログラムがあるのですが
こういった場合もタスクに書き直した場合は動作が軽くなるのでしょうか
また、CPUが複数コアだった場合は、スレッドでもタスクでも空いているコアに割り当てられるのでしょうか
それとも、1個のコアのなかでタスクが分割されるのでしょうか
void foo1(){
Thread thread1 = new Thread( new ThreadStart( method1 ) );
Thread thread2 = new Thread( new ThreadStart( method2 ) );
Thread thread3 = new Thread( new ThreadStart( method3 ) );
....スレッドをいっぱい生成....開始
thread1.start();
thread2.start();
thread3.start();
}
void method1 (){
while(true){
アプリが起動している間だ、ずっと動作し続ける
}
}
void method2 (){
while(true){
アプリが起動している間だ、ずっと動作し続ける
}
}