2012-04-28 152 views
0

我喜歡得到您的專家的建議。 我有一個Windows程序,可以完成這項任務多任務的最佳線程策略

  1. 在一個文件(激光掃描數據)中讀取1000萬個點在一個線程中。需要1分鐘。 完成後。
  2. 在新線程中計算網格。花費約3分鐘。然後用戶可以選擇不同的任務。
  3. 創建位圖(圖像)或其他對象,如高程等值線。它是在其他線程中完成的。需要1分鐘。
  4. 最終用戶可以將位圖或對象保存到文件中。

我的意圖是現在允許一個批處理任務,用戶選擇一堆文件並指定GRID設置以及他/她想要的位圖。

您認爲這樣做的最佳策略是什麼? 我不是高級程序員,我看看BackgroundWorker。如果您喜歡使用具有兩個或更多內核的新計算機,這是一種方式嗎?

+0

openMp對於並行數據處理來說總是一個好主意我不確定它是否存在c# – sherif 2012-04-28 08:54:17

回答

0

聽起來不錯。我不明白你的整個應用程序,但聽起來你應該能夠並行地完成一些事情。

您可以定義一個可以容納批處理作業的品脫和GRID數據的類,並且具有執行所有這些步驟的方法嗎?

GRID計算是否可以分解爲對點陣列的獨立段進行操作的子任務,或者在任何GRID計算開始之前所有點都可用?

+0

是的,我可以爲點和網格定義一個類,並且方法已準備就緒。一個問題是 - 如果我有一個「Batch」BackgroundWorker,我應該保留這些方法中的原始線程。我認爲很難分割GRID任務。你必須擁有所有點數。 – 2012-04-28 09:18:14