2016-11-05 60 views
0

我在WPF項目中使用線程。 爲了控制線程流,我在WPF中使用SpinLock。如何在線程中使用鎖定

不過,我面臨在運行時「這個鎖是用另一個線程」錯誤日誌。(原始日誌不是英語,所以我翻譯成英文。)

所以,我覺得自旋鎖不能使用線程。 我希望知道在很多線程中使用鎖的方式。 或者我想知道在這種情況下可以使用另一個鎖。

回答

0

您將需要發佈您的代碼。 documentation for SpinLock說:

SpinLock的所有成員都是線程安全的,可以同時用於多個線程。

旋轉鎖只需要很少。您可能想研究其他鎖定基元。

+0

謝謝你的回答。我想我可能使用原子變量。但是,我發現C#不支持特定的原子變量。許多人使用Object而不是原子變量。然而,這不是一般的方法,所以我嘗試使用自旋鎖而不是原子。 無論如何,想你的答覆。我會嘗試另一種方式。 –

0

不要使用線程,是簡短的答案。 「C#中的併發」是該領域的權威詞彙,涵蓋了整個主題,我強烈建議您嘗試購買一份副本。與此同時,我會留給你一個從開篇章節中的引用:

線程和BackgroundWorker類型在此 書中根本沒有涉及。他們有自己的時間,那段時間結束了。