BlockingQueue使用stringbuilder工作不正常

时间:2017-03-24 11:23:21

标签: java stringbuffer blockingqueue

我试图将一组带有线程(比如thread1)的字符串排入BlockingQueue,并将这些排队的项写入具有不同线程(thread2)的文件中。一个简单的生产者 - 消费者问题。

线程1:

while(condition) { queue.add(data); }

线程2:

while(true) { queue.take(data); //write the took data }

这整个操作可以正常工作,数据是String。当我尝试使用StringBuilder执行相同的操作时,结果是随机的。

如果排队的数据是"这是我的数据",输出是" y data"或者"是我的数据"或整个数据的一些随机子集(有时也是预期的整个数据)

阻塞队列的性质是以这种方式表现为stringBuilders还是我做错了?

0 个答案:

没有答案