Я пишу Java-приложение многопоточный, которое получает информацию от websocket и bufferized на LinkedList, и у меня есть еще один поток, который получает эту информацию из этого связанного списка, например, очередь, первым пришел - первым вышел, а также у меня есть Thread.sleep(1) для сделайте это подождите 1 миллисекунду, прежде чем он снова попытается получить информацию из связанного списка. Иногда я не знаю, что происходит, но кажется, что через несколько часов он ждет более 1 миллисекунды, например, потребительский поток не работает или слишком медленно. Есть ли лучшая альтернатива, чем Thread.sleep? Должен ли я буферизовать эту информацию, используя другую структуру данных?
Кстати, этот LinkedList находится внутри синглтона, поэтому я могу создавать информацию в одном потоке и использовать в другом.
Спасибо
На самом деле я отлаживаю его в течение недели и не знаю, использую ли я правильную структуру данных для обработки буферов. Или Thread.sleep ненадежен.




Thread.sleep не точен, особенно при разрешении 1 мс. См. Насколько точен Thread.sleep? и Что такое RTSJ, спецификация реального времени для Java?. Для этого вам нужно будет изучить программирование в реальном времени.
Привет, добро пожаловать в Stack Overflow. Узнайте, как задать хороший вопрос. Вы пытались решить проблему и столкнулись с препятствием? Вставьте код, с которым у вас возникли проблемы, чтобы уточнить!