我有這樣的功能:如何使功能的一部分「線程等待」?
protected override void WndProc(ref Message message) {
if (id != null) {
id.ProcessMessage(message);
if (id.ScanCode.Length > 4) {
...
}
}
base.WndProc(ref message);
}
這是做低級別的監聽鍵盤輸入,我想已經是多線程的做到這一點。它工作得很好,但它是重要的一塊是功能只允許1個線程同時執行:
if (id.ScanCode.Length > 4) {
...
}
我需要整個if區塊,只允許1個線程的時間。一旦線程#1結束,線程#2可以進入並執行。如果可能並且簡單,所有其他線程也可以被中止,因爲當線程到達這一點時,其他線程變得無用。但是,如果這很困難或可能導致不穩定,那就讓我們堅持原來的要求吧。
實現此目的最簡單的方法是什麼? (!在此先感謝)
的WndProc只運行在UI線程上。 – 2015-02-06 17:56:20