2

我正在寻找类似于 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 中以如此简单的方式做到这一点?

4

1 回答 1

2

您可以使用队列。

Java 在其 java.util.concurrent 包中有LinkedBlockingQueue,您可以从 Groovy 中使用它。JavaLobby 上有一篇文章讨论了这些结构(显然是从 Java 的角度来看,但您可以使用 Groovy 中的所有内容)

于 2012-08-15T20:11:23.977 回答