【发布时间】:2010-04-15 23:25:37
【问题描述】:
我正在开发一个多线程应用程序,需要一些伪代码方面的帮助。为了使实现更简单,我将尝试用简单的术语/测试用例来解释。
这里是场景-
我有一个字符串数组列表(比如 100 个字符串)
我有一个 Reader 类,它读取字符串并将它们传递给一个将字符串打印到控制台的 Writer 类。现在它在单线程模型中运行。
我想让这个多线程,但具有以下功能 -
能够设置 MAX_READERS
能够设置 MAX_WRITERS
能够设置 BATCH_SIZE
所以基本上,代码应该实例化那么多 Readers 和 Writers 并并行完成工作。
任何伪代码都会真正帮助我继续前进!
【问题讨论】:
-
数组是在开始时给出的,还是传入字符串的流?
-
好吧,如果您使用来自
java.util.concurrent的东西,那将非常容易......但是既然您想要伪代码,我想您希望它在不使用它的情况下实现(出于学习目的?)?我不清楚你为什么有MAX_WRITERS和BATCH_SIZE,因为如果你批量编写,最明显的实现是始终只有一个编写器。 (等待多个批次累积,然后在多个线程中执行这些操作似乎很奇怪)
标签: java multithreading concurrency