如何停止java 8 lambda-runnable-thread

thi*_* gg 2 java multithreading runnable

我想停止这个帖子:

Runnable run= ()->{while(true)[...];};
run.run();
Run Code Online (Sandbox Code Playgroud)

但是没有run.stop()办法.

请建议另一个尽可能短的方法来启动和停止一个线程或一个方法来停止这个运行...的事情.

小智 8

Runnable.run()不创建线程.您正在调用当前线程中的run()方法.要创建一个线程,您需要这样做:创建并启动一个线程:

Thread t = new Thread(run);
t.start();
Run Code Online (Sandbox Code Playgroud)

然后你可以调用

t.interrupt();
Run Code Online (Sandbox Code Playgroud)

请阅读javadocs,Thread.interrupt()了解如何构建run()可中断的方法.