請教大俠。關於多執行緒同步問題
小弟寫了一個程式。但是不知道怎麼能做成singleton 同步多執行緒的模式。請各位大俠賜教,謝謝
package kid;
import java.io.BufferedReader;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.util.Calendar;
import entertainer.EntertainerIF;
import entertainer.KidId;
import entertainer.Message;
public class Kid {
private String kidname;
private String matchName;
private int localServerPort;
private ServerSocket servsock;
private EntertainerIF entertainer;
private Socket entertainersock;
private boolean gameover = false;
private KidId leftKid;
private KidId rightKid;
private Socket leftKidSock;
private Socket rightKidSock;
private boolean haveBaloon;
private Thread threadEntertainer;
private Thread threadLeftKid;
private Thread threadRightKid;
private Thread workingThread;
private int gameRound = 1;
public Kid() {
setThreadInfo();
}
private void setThreadInfo() {
// create reading socket thread
if (threadEntertainer == null) {
threadEntertainer = new Thread() {
@Override
public void run() {
boolean stop = false;
while (!gameover && !stop) {
try {
if (entertainersock != null) {
// System.out.println("Reading socket from entertainersock.....");
readMsg(entertainersock);
}
sleep(100);
//不能使用thread。sleep的方法
} catch (SocketException se) {
if (entertainersock.isClosed()) {
System.out
.println("entertainersock is closed.");
entertainersock = null;
stop = true;
}
} catch (EOFException ee) {
System.out
.println("Got EOFException, close entertainer socket.");
try {
entertainersock.close();
entertainersock = null;
stop = true;
} catch (Exception ex) {
package kid;
import java.io.BufferedReader;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.util.Calendar;
import entertainer.EntertainerIF;
import entertainer.KidId;
import entertainer.Message;
public class Kid {
private String kidname;
private String matchName;
private int localServerPort;
private ServerSocket servsock;
private EntertainerIF entertainer;
private Socket entertainersock;
private boolean gameover = false;
private KidId leftKid;
private KidId rightKid;
private Socket leftKidSock;
private Socket rightKidSock;
private boolean haveBaloon;
private Thread threadEntertainer;
private Thread threadLeftKid;
private Thread threadRightKid;
private Thread workingThread;
private int gameRound = 1;
public Kid() {
setThreadInfo();
}
private void setThreadInfo() {
// create reading socket thread
if (threadEntertainer == null) {
threadEntertainer = new Thread() {
@Override
public void run() {
boolean stop = false;
while (!gameover && !stop) {
try {
if (entertainersock != null) {
// System.out.println("Reading socket from entertainersock.....");
readMsg(entertainersock);
}
sleep(100);
//不能使用thread。sleep的方法
} catch (SocketException se) {
if (entertainersock.isClosed()) {
System.out
.println("entertainersock is closed.");
entertainersock = null;
stop = true;
}
} catch (EOFException ee) {
System.out
.println("Got EOFException, close entertainer socket.");
try {
entertainersock.close();
entertainersock = null;
stop = true;
} catch (Exception ex) {
相關文章
- 請教一個關於執行緒的問題執行緒
- 請教關於執行緒的結束問題,急!!!執行緒
- 請教一個多執行緒的問題執行緒
- 求助!關於執行緒的問題?各位大俠謝謝了!!!執行緒
- 請教一個涉及到多執行緒的關於單例的問題執行緒單例
- 請教一個事務+多執行緒 的問題執行緒
- 小小問題―關於java多執行緒Java執行緒
- 請教一個多執行緒的問題--wait多個鎖執行緒AI
- 請教一個關於NIO執行方式的問題
- 請教一個關於執行平臺的問題
- 關於的Eclipse3.0.1執行問題請教Eclipse
- 請教:struts中action執行緒安全問題執行緒
- 關於執行緒使用中的幾個疑問,請教大家!執行緒
- 請教一個多執行緒編寫的題!執行緒
- 多執行緒下的程式同步(執行緒同步問題總結篇)執行緒
- 面試中關於多執行緒同步,你必須要思考的問題面試執行緒
- 多執行緒相關問題執行緒
- 一個執行緒的問題。請大俠進來幫幫忙看看執行緒
- 請教 做多執行緒 、快取最佳化速度的問題執行緒快取
- 請教各位大俠一個JavaBean的問題JavaBean
- oracle備份出了問題,請教大俠看看!!!Oracle
- 關於執行緒的問題...執行緒
- 【java 多執行緒】多執行緒併發同步問題及解決方法Java執行緒
- fastapi 關於執行緒池、同步、非同步的問題解答彙總ASTAPI執行緒非同步
- 關於多執行緒訪問靜態方法的問題執行緒
- 有個關於多執行緒的識別問題執行緒
- 多執行緒和多執行緒同步執行緒
- 請教:signup執行問題?
- jivejdon執行的問題請教
- 多執行緒問題執行緒
- 關於連線bean中可能發生多執行緒的問題請教,歡迎大家一起討論Bean執行緒
- 關於詳細設計/程式碼的同步問題--請教
- 多執行緒非同步安全,安全鎖的問題執行緒非同步
- 關於多執行緒控制執行緒
- 關於多執行緒(轉)執行緒
- java多執行緒執行問題Java執行緒
- 多執行緒同步執行緒
- c#關於同步 /異常/多執行緒/事件 事例C#執行緒事件