我正在编写一个多线程 Java应用程序,该应用程序从websocket
和bufferized
上的LinkedList
上获取信息,而我还有另一个线程可以获取此信息该链接列表中的信息,例如队列,先入先出,而且我有一个Thread.sleep(1)
要使其等待1毫秒,然后再尝试从链接列表中获取信息。有时我不知道发生了什么,但似乎在几个小时后要等待1毫秒以上,例如使用者线程关闭或速度太慢。有没有比Thread.sleep
更好的选择了?我应该使用其他数据结构来缓冲此信息吗?
顺便说一下,这个LinkedList
位于单例内部,因此我可以在一个线程中生成信息,而在另一个线程中使用。
谢谢
答案 0 :(得分:1)
Thread.sleep尤其在1ms分辨率下不准确。请参见How accurate is Thread.sleep?和What exactly is RTSJ, the Real-Time Specification for Java?,您需要研究实时编程才能实现此目的。