线程被锁定

时间:2018-09-08 10:11:24

标签: java multithreading websocket

我正在编写一个多线程 Java应用程序,该应用程序从websocketbufferized上的LinkedList上获取信息,而我还有另一个线程可以获取此信息该链接列表中的信息,例如队列,先入先出,而且我有一个Thread.sleep(1)要使其等待1毫秒,然后再尝试从链接列表中获取信息。有时我不知道发生了什么,但似乎在几个小时后要等待1毫秒以上,例如使用者线程关闭或速度太慢。有没有比Thread.sleep更好的选择了?我应该使用其他数据结构来缓冲此信息吗? 顺便说一下,这个LinkedList位于单例内部,因此我可以在一个线程中生成信息,而在另一个线程中使用。

谢谢

1 个答案:

答案 0 :(得分:1)

Thread.sleep尤其在1ms分辨率下不准确。请参见How accurate is Thread.sleep?What exactly is RTSJ, the Real-Time Specification for Java?,您需要研究实时编程才能实现此目的。