第一个线程负责随机给出1到100之间的一个整数,第二个线程负责猜出这个数。
要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜大了”,“猜小了”或“猜对了”。第一个线程设置好猜测数之后,两个线程还要互相等待,其原则是:第一个线程给出自己的待测后,等待第一个线程给出的提示;第一个线程给出提示后,等待第二个线程给出猜测,如此进行,直到第二个线程给出正确的猜测后,两个线程进入死亡状态。
看了几个网友的解决方法,多用sleep,但没看到用同步方法解决的。就自己动手写了一个,小白的我记录一下……
// An highlighted block
public class Application3 {
public static void main(String[] args) {
Number2 number=new Number2();
}
}
class Number2 implements Runnable {
int MESSAGE=0;
int realNumber,guessNumber;
int min=0,max=100;
Thread giveNumberThread, guessNumberThread;
boolean pleaseGuess=false;
boolean hasRealNumber=false;
Number2(){
giveNumberThread = new Thread(this