タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Threadに関するfatherofikura0107のブックマーク (2)

  • .NET 複数のTaskを一度に開始しようとすると遅延が発生する - OITA: Oika's Information Technological Activities

    10個のスレッドを同時に走らせて並列処理したいとする。 まさか new Thread(...).Start() なんてやらないですよね。 LINQでasync/awaitだーってのもアリかもしれませんが、 素直にTaskを10個作ろうとすると↓こんな感じ。 for (int i = 0; i < 10; i++) { Task.Run(() => { Thread.Sleep(4000); //4秒くらいかかる処理 }); } もちろん10個ほぼ同時に走ってくれることを期待する。 確認してみる。 var watch = Stopwatch.StartNew(); for (int i = 0; i < 10; i++) { Task.Run(() => { var threadId = Thread.CurrentThread.ManagedThreadId; Console.WriteL

    .NET 複数のTaskを一度に開始しようとすると遅延が発生する - OITA: Oika's Information Technological Activities
  • スレッドの基礎

    C#ではマルチスレッドによる並列処理がサポートされています。1つのスレッドは他から独立した実行パスで プログラムが実行され、他のスレッドと同時に実行が可能です。 C#のクライアントプログラム(コンソール、WindowsForm、WPF)ではOS及びCLRによってアプリケーションの開始時 に1つのスレッドが作られます。この最初に作られるスレッドのことをメインスレッドと呼びます。 また自分でスレッドを作成することでマルチスレッドアプリにすることも可能です。 下にスレッドを複数起動するサンプルコードを示します。 class ThreadTest { static void Main() { // 新しいスレッドの作成(OSレベルではまだ作成されていない) Thread subThread = new Thread (WriteY); // スレッドの開始 subThread.Start(); /

  • 1