BlockingQueue неправильно работает с stringbuilder
Я пытался поставить ряд строк с потоком (скажем, thread1) в BlockingQueue и записать эти элементы в очереди в файл с другим потоком (thread2). Простой производитель - потребительская проблема.
Тема 1:
while(condition) { queue.add(data); }
Тема 2:
while(true) { queue.take(data); //write the took data }
Вся эта операция отлично работает с данными String. Когда я пытаюсь сделать ту же операцию с StringBuilder, результаты случайны.
если помещенные в очередь данные - "Это мои данные", вывод - "данные y" или "Мои данные" или какое-либо случайное подмножество всех данных (иногда ожидаемые целые данные тоже)
Это - очередь очереди Блокирования вести себя таким образом к stringBuilders, или я делаю это неправильно??