的「沉重」的方法我必須做到以下幾點:異步執行的GUI
Public Sub OnMouseMove
If mouseDownButNotYetMoved Then
myObjectsStateArchive.SaveObjectsState(myCurrentObjectsState.Clone())
End If
MoveObjectsWithMouse()
End Sub
的問題是,SaveObjectsState
方法很「重」。因此,當用戶移動鼠標時,它會相應地移動對象,但對象被「延遲」,因爲它等待SaveObjectsState
完成...
我想可能異步執行保存。 ..我的意思是,所有的對象都在當前線程,myObjectsStateArchive和myCurrentObjectState ...只是克隆和保存操作「平行」
什麼是最好的方法,使用ThreadPool
或類似的東西?
Public Sub OnMouseMove
If mouseDownButNotYetMoved Then
System.Threading.ThreadPool.QueueUserWorkItem(_
New Threading.WaitCallback(_
Sub(o)
myObjectsStateArchive.SaveObjectsState(myCurrentObjectsState.Clone())
End Sub))
End If
MoveObjectsWithMouse()
End Sub
我不需要任何進度條。我只是想讓沉重的「保存」在圖形對象移動時執行「並列」,並且不會延遲第一次移動......我的意思是,所有對象都在當前線程中,myObjectsStateArchive和myCurrentObjectState ...只是克隆和保存操作是「平行」 – serhio