broadcast.java

来自「java聊天室服务器」· Java 代码 · 共 54 行

JAVA
54
字号
package XXRoom;

import java.net.*;
import java.io.*;

/*负责广播消息队列里的消息*/
class Broadcast extends Thread
{
	ServerThread sThread;	
	
	public Broadcast( ServerThread sThread )
	{
		this.sThread = sThread;
	}

	public void run()
	{
		while( true )
		{
			try
			{
				Thread.sleep( 100 );
				
				String s;
				synchronized( sThread.messages )
				{
					if( sThread.messages.size() == 0 )
						continue;

					s = (String)sThread.messages.get( 0 );
					sThread.messages.remove( 0 );
				}
				synchronized( sThread.clients )
				{
					for( int i = 0; i < sThread.clients.size(); i ++ )
					{
						ClientThread cThread = (ClientThread)sThread.clients.get( i );
						if( cThread.ready == true )
							cThread.write.println( s );
					}					
				}
			}
			catch ( InterruptedException e )
			{
				e.printStackTrace();
			}
		}
	}

	public void dispose()
	{
		sThread = null;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?