Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 线程被锁定_Java_Multithreading_Websocket - Fatal编程技术网

Java 线程被锁定

Java 线程被锁定,java,multithreading,websocket,Java,Multithreading,Websocket,我正在编写一个多线程Java应用程序,它从websocket获取信息,并在LinkedList上对其进行缓冲处理,我还有另一个线程从这个链表中获取信息,比如队列,先进先出,我还有一个线程。睡眠(1)使其等待1毫秒,然后再次尝试从链接列表中获取信息。有时我不知道发生了什么,但它似乎在几个小时后等待了超过1毫秒,就像消费线程停止或太慢一样。还有比线程睡眠更好的选择吗?我应该使用其他数据结构缓冲此信息吗? 顺便说一下,这个LinkedList在一个单线程中,因此我可以在一个线程中生成信息,在另一个线程

我正在编写一个多线程Java应用程序,它从
websocket
获取信息,并在
LinkedList
上对其进行缓冲处理,我还有另一个线程从这个链表中获取信息,比如队列,先进先出,我还有一个
线程。睡眠(1)
使其等待1毫秒,然后再次尝试从链接列表中获取信息。有时我不知道发生了什么,但它似乎在几个小时后等待了超过1毫秒,就像消费线程停止或太慢一样。还有比线程睡眠更好的选择吗?我应该使用其他数据结构缓冲此信息吗? 顺便说一下,这个
LinkedList
在一个单线程中,因此我可以在一个线程中生成信息,在另一个线程中使用


谢谢

线程。睡眠不准确,特别是在1ms分辨率下。请参阅,您将需要研究实时编程来实现这一点。

您好,欢迎来到Stack Overflow。你有没有试着解决这个问题而遇到障碍?粘贴您遇到问题的代码以澄清!事实上,我正在对它进行一周的调试,我不知道我是否使用了正确的数据结构来处理缓冲区。睡眠是不可靠的。