我正在制作一个小游戏,我将有两个线程(以及迈向多线程的第一步......),一个用于逻辑,一个用于绘图。
所以我的问题是:我怎样才能让那两个人彼此沟通?
要求:
从另一个线程访问变量和对象
同步它们,以便它们在同一时间内完成相同数量的“循环”。 (逻辑计算,然后另一个绘制结果,循环再次开始......)
那么这在java中是如何实现的?
提前致谢!
答案 0 :(得分:0)
方法是线程内部或非线程的方法。只需创建一个对所有线程都可见的对象,它们都能够访问它。
答案 1 :(得分:0)
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.
答案 2 :(得分:0)
用于在线程之间进行通信的一个简单结构是BlockingQueue。
我经常发现,如果你使用BlockingQueue
,它将专注于让线程正确地协同工作。例如,他们不会提供您要求的设施,因为实际上这些设施不是您想要的。