我想使用連接來同步我的代碼。當調用連接時,我在父線程和子線程中都收到異常 線程運行時線程「thread3」異常 異常。Java當我打電話加入我在子和父線程中得到異常
線程運行在Ruinable類中,並在創建類時將線程存儲在公共成員中。主線程在這個公共成員上調用join方法。
碼主線程做
System.out.println(Thread.currentThread()+": waiting for 2 players");
do {
r=GetClient();
switch(r)
{
case 0: return; // exitvon a very bad error
}
} while(r==2);// loop if it was a timeout
cMyConnection thread = new cMyConnection("thread3", connection, mPlayerList, mPlayersMessages);
try {
thread.MyThread.join(); // call join
} catch (InterruptedException e) {
e.printStackTrace();
}
類
public class Cconnection implements Runnable {
Thread runner;
ReentrantReadWriteLock readWriteLock;
Lock read;
Lock write;
boolean StopFlag;
String header;
Socket connection;
ServerSocket server;
StringBuffer request;
OutputStream out;
InputStream in;
String ClientMessage;
public cUsers mPlayerList;
public cMessages mPlayersMessages;
public Thread MyThread;
public Cconnection(String threadName, Socket connection_in , cUsers PlayerList, cMessages PlayerMessages) {
connection=connection_in;
mPlayerList=PlayerList;
mPlayersMessages=PlayerMessages;
MyThread = new Thread(this, threadName); // (1) Create a new thread.
MyThread.start(); // (2) Start the thread.
}
修復帖子... – L7ColWinters 2012-02-16 02:19:10
請包括stacktrace。 – mre 2012-02-16 02:46:04