我编写了一个 Java 线程(Runnable)来基本上存储一个 DatagramPackets 列表,如果列表的大小 > 0,它将发送列表中的第一项。
似乎除非我在 run 方法中放置大量睡眠,否则线程将变得无响应
public void run()
{
while ( true )
{
if ( _packetQ.size() > 0)
{
try
{
_socket.send( _packetQ.remove() );
}
catch ( IOException ex )
{
System.err.println( "Error sending packet" );
System.err.println( ex );
}
}
}
}
_packetQ 是数据报包的链表。
无论如何我可以停止线程锁定或让它仅在 packetQ.size() > 0 时运行
谢谢
更新:哦,亲爱的,由于代码中的错误,数据包甚至没有被推送到队列中,只是浪费了一个小时的调试时间。感谢您的回复**