?? 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(500); //每0.5秒廣播一次
}
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.write0.println(m);
}
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -