簡體   English   中英

線程之間的通信

[英]communication between threads

我正在制作一個小型Java游戲,其中有兩個線程(以及邁向多線程的第一步...),一個用於邏輯,一個用於繪圖。

所以我的問題是:我該如何使這兩個彼此交流?

要求:

  • 從另一個線程訪問變量和對象

  • 同步它們,以便它們每個都同時完成相同數量的“循環”。 (邏輯計算,然后另一個邏輯繪制結果,循環再次開始...)

那么如何在Java中實現呢?

提前致謝!

方法是在線程內或不在線程內的方法。 只需創建一個對所有線程可見的對象,它們就都可以訪問它。

1. Create a Class with logic and drawing methods. 
   Whose object is accessible by both the threads.

2. Now please do synchronize the atomic statements or methods.

3. So its like an object is shared between 2 threads.

一種用於在線程之間進行通信的簡單結構是BlockingQueue

我經常發現,如果您使用BlockingQueue它將使您專注於使線程正確協同工作。 例如,他們不會提供您所要求的設施,因為實際上這些設施不是您想要的。

暫無
暫無

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

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