写了如下代码:但是启动的时候完全没有让我输入直接死循环.请问如何解决?
这是线程类:→
public class MultiThread implements Runnable
{
private volatile String values;
private volatile int swich;
private static final String CLOSE = "close";
@Override
public void run()
{
while (swich < 1)
{
Scanner sc = new Scanner(System.in);
values = sc.toString();
if(values.equals(CLOSE)){
System.out.println("close this thread!");
swich = 1;
continue;
}
System.out.println("input's :" + values);
}
}
}
这是运行类:→
public class ExecutorServiceSim
{
public static void main(String[] args)
{
int nThreads = 4;
ExecutorService es = Executors.newFixedThreadPool(nThreads);
es.submit(new MultiThread());
es.shutdown();
}
}
values = sc.toString(); //你的脑洞有点大
↓↓↓↓↓↓↓↓↓↓↓↓↓↓
values = scanner.next();
// 或
values = scanner.nextLine();
好吧,我没好好看代码,听楼下的吧,我的那个答案是错的