Я хочу контролировать поток по входному значению.
если входное значение равно 1, чем-то заниматься.
больше ничего.
class Main {
class test implements Runnable{
public boolean flag = true;
public int val = 0;
@Override
public void run(){
while(true){
if(flag == true){
pt();
}
}
}
public void pt(){
System.out.println(val++);
flag = false;
}
}
public static void main(String[] args) {
Main m = new Main();
test r = m.new test();
Thread t = new Thread(r);
t.start();
Scanner reader = new Scanner(System.in);
while(true){
int n = reader.nextInt();
if(n==1){
r.flag = true;
// t.flag = true;
}
else{
r.flag = false;
// t.flag = false;
}
}
}
}
Это мой код.
Очевидно,
Я знал, что r.flag не меняет значение Thread t.
Так что, даже если набрать 1, ничего не происходит.
но т.флаг невозможен. объект t не имеет флаг переменной.
Как получить доступ к t.r.flag .... вы понимаете?
Я думаю, что сейчас что-то делает глупостей.
Я иду в неправильном направлении?