スポンサーサイト

  • 2018.03.09 Friday

一定期間更新がないため広告を表示しています

  • 0
    • -
    • -
    • -

    Parallel中にUIコントロールのInvokeを操作したい場合

    • 2012.08.01 Wednesday
    • 14:31
     
    通常Parallel処理中にUIのInvokeを行おうとすると、
    お互いが処理待ちになるデッドロック状態となります。

    そこで見つけたのがこのページ

    ようはSystem.Threading.Tasks.Task.Factory.StartNewで
    parallel自体を別threadにしてしまえばいいというやり方。

    var task=System.Threading.Tasks.Task.Factory.StartNew(() =>
    {
        Parallel.ForEach(hogeList, (n) =>
        {
        //control.Invokeを伴う処理
        });
    });
    task.Wait();



    ただし、
    データとタスクの並列化における注意点

    に記載されているとおり、「UI スレッドでの並列ループの実行は避ける 」のが
    ただしいのでしょうね。

    スポンサーサイト

    • 2018.03.09 Friday
    • 14:31
    • 0
      • -
      • -
      • -
      コメント
      コメントする








          
      この記事のトラックバックURL
      トラックバック

      PR

      calendar

      S M T W T F S
        12345
      6789101112
      13141516171819
      20212223242526
      2728293031  
      << May 2018 >>

      selected entries

      categories

      archives

      recent comment

      • C#にて、別スレッドから新規Formを表示させる際のお作法について メモメモ
        curry shoes (04/11)
      • 『第16回 #TFSUG: 大阪vol.2 』に参加してきました
        kd shoes (04/01)
      • 【大阪】継続的デリバリー読書会(12回目)に参加してきました!
        fitflop sale (03/26)
      • SharePointで再利用可能なワークフローの参照可能フィールドを追加する
        kd shoes (03/24)
      • [SharePoint2010] アイテム表示画面でユーザまたはグループ列がHTMLソース表示となってしまう場合の対処法
        nike air max 90 (03/24)
      • ExcelマクロでTDDをやってみよう!
        ultra boost (02/25)

      recommend

      カンバン仕事術
      カンバン仕事術 (JUGEMレビュー »)
      Marcus Hammarberg,Joakim Sundén

      recommend

      recommend

      profile

      search this site.

      others

      mobile

      qrcode

      powered

      無料ブログ作成サービス JUGEM