📄 broadcast.java
字号:
// 程序:广播线程
// 范例文件:BroadCast.java
class BroadCast extends Thread //这是广播线程
{
ClientThread c;
ServerThread sThread;
String m;
public BroadCast(ServerThread sThread)
{
this.sThread = sThread;
}
public void run()
{
while(true)
{
try
{
Thread.sleep(3000); //每3秒广播一次
}
catch(InterruptedException E){}
synchronized(sThread.messages) //同步处理
{
if(sThread.messages.isEmpty()) //如果无讯息
continue; //则继续等待
m = (String)sThread.messages.firstElement(); //取出第一个讯息
sThread.messages.removeElement(m); //移除第一个讯息
}
synchronized(sThread.Clients) //同步处理
{
//对每一个客户端发送讯息
for(int i=0;i<sThread.Clients.size();i++)
{
c = (ClientThread)sThread.Clients.elementAt(i);
c.write.println(m);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -