簡體   English   中英

Java中跨類共享條件和鎖定變量

[英]Sharing Condition and Lock variable Across Classes in Java

我想編寫一個程序,其中兩個單獨的線程運行兩個對象,一個線程等待執行其代碼,直到另一個線程發出信號。

現在要做到這一點,我想使用Condition接口。

我無法弄清楚在我的代碼中在哪里聲明lockcondition變量,以便兩個類都可以訪問它。

我想問的是,線程如何共享lockcondition變量,以確保它們在相同的條件下發出信號和等待。

線程必須有某種連接才能工作。 如果線程 1 引用了線程 2,則鎖和條件變量可能在線程 2 中,反之亦然。

如果不是,則變量必須位於兩個線程都可以訪問的單獨類中。 因此,您必須將該類的相同實例傳遞給兩個線程,以便該實例成為共享資源。 以下示例假設您有類Thread1Thread2與構造以繼承Thread SharedResource作為參數:

SharedResource sr = new SharedResource();
Thread1 t1 = new Thread1(sr);
Thread2 t2 = new Thread2(sr);
t1.start();
t2.start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM