我正在使用Groovy语言在Python中寻找类似Queue类型的东西。
在python Queues中,让我们在线程之间交换信息,并注意所有锁定问题/挑战。因此,一个线程可以简单地将任务添加到队列
while True:
if self.task_ready():
task = self.get_task()
self.queue.put(task)
print 'Task %s added to queue' % (task.name)
和工作线程可以:
while True:
self.queue.get() # this is read blocking action
self.proces_task(task)
有没有办法在Groovy中以这么简单的方式完成它?
答案 0 :(得分:2)
您可以使用队列。
Java在java.util.concurrent包中有LinkedBlockingQueue,你可以在Groovy中使用它。有一篇文章over here on JavaLobby讨论了这些结构(显然是从Java的角度来看,但你可以使用Groovy中的all)