有没有办法做到这一点?先谢谢你。
答案 0 :(得分:0)
我不确定我是否100%理解您的问题,但只是提出一些建议,synchronized(){}可能有所帮助。让我们说你的一个线程想要运行另一个,你有类似的东西
Class2 class2=new Class2();
当你运行第一个帖子时,你有类似的东西:
Class1 class1=new Class1();
然后你可以在第一课时,在循环之前(有点混乱):
//this tells class2 to wait
synchronized(class2){
class2.wait;
}
和第2课:
synchronized(class1){
class1.wait;
}
然后回到class1:
//this tells class2 to stop the wait FOR CLASS1, SO IT TELLS CLASS1 TO START
synchronized(class2){
class2.notify;
}
和class2:
//this tells class1 to stop the wait FOR CLASS2, SO IT TELLS CLASS2 TO START
synchronized(class1){
class1.notify;
}
你会以:
结束//this tells class2 to wait
synchronized(class2){
class2.wait;
}
//this tells class2 to stop the wait FOR CLASS1, SO IT TELLS CLASS1 TO START
synchronized(class2){
class2.notify;
}
在class1中,
synchronized(class1){
class1.wait;
}
//this tells class1 to stop the wait FOR CLASS2, SO IT TELLS CLASS2 TO START
synchronized(class1){
class1.notify;
}
希望我帮助你,有点混乱。祝你今天愉快。这应该使两个循环一起开始,就像其他等待和启动一样,一起做,使用synchronized(){}和class.wait和class.notify,你应该能够找出其余的