我有两节课。在Class1中我有一个线程,在Class2中我必须暂停/锁定该线程,该线程将在登录后立即启动。在我的场景中,在登录(在Class2中实现)之后,必须使线程等待更多额外的登录并从DB获取数据。请让我知道如何控制在不同类中的其他类中运行的线程。
的Class1:
public class Class1{
Class2 cls2 = new Class2();
cls2.logon();
// login which will start the thread in the Class2 as well
// Please suggest what should be done here
// DB realated stuff need be done here
// Have to unlock/resume the thread in Class2
}
等级2:
public class Class2{
public void receiveMessage(String str){
new StringProcessor(str);
}
public class StringProcessor implements Runnable {
//do some stuff but have to wait for the DB related stuff in Class1
}
public void logon(){
//Will create/logon the connection and the message will be start arriving
}
}
实际上在登录后会有TCP / IP连接来接收消息。每当消息到达时,都会调用receiveMessage()方法。但我必须暂停
干杯, Sakthi。小号
答案 0 :(得分:3)
有几种方法。
错误的是使用Thread.suspend / resume / destroy,因为它们已被弃用并且容易出现死锁。
你可以......