2012-08-15 57 views
2

我正在寻找类似于Groovy语言中Python中的队列类型的东西。groovy中的Python队列

在python队列让我们在线程之间交换信息,并关心所有锁定问题/挑战。所以,一个线程可以简单地添加一个任务到队列

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中这样简单的方法?

回答

2

您可以使用队列。

Java在其java.util.concurrent包中有LinkedBlockingQueue,您可以在Groovy中使用它。有一篇文章over here on JavaLobby讨论了这些结构(很明显从Java的角度来看,但你可以使用Groovy中的全部)

+0

谢谢,这正是我一直在寻找 – mrok 2012-08-15 21:40:17