继承Thread对象 实现Runnalbe接口 实现Callable接口 修改标志位 比如在服务端程序中可能会使用 stop方法终止线程 thread.stop()方法,可以立即终止线程,但是stop()方法不是安全的方法 调用 stop() 方法会立刻停止 run() 方法中剩余的全部工作,包括在 catch 或 finally 语句中的,并抛出ThreadDeath异常(通常情况下此异常不需要显示的捕获),因此可能会导致一些清理性的工作的得不到完成,如文件,数据库等的关闭。 interrupt方法 thread.interrupt方法,区别于stop方法,线程执行此方法后,会将线程的中断标志设置为true. 如果线程想响应中断,会进行中断操作,如果不想,就忽略此消息,线程的中断取决于线程本身。 上面线程会一直运行,并且只会输出一次true,其余均为false,想了解原因的,可以详细阅读一下线程中断机制,这里就不赘述了。
Java线程:你想了解的,我都有
Java线程的三种创建方式
class ThreadImpOne extends Thread{ @Override public void run(){ System.out.println("ThreadImpOne"); } }
class ThreadImpTwo implements Runnable{ @Override public void run() { System.out.println("ThreadImpTwo"); } }
import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; public class Main{ public static void main(String args[]) throws Exception{ ThreadImpThree threadThree = new ThreadImpThree(); FutureTask<Integer> task = new FutureTask<Integer>(threadThree); new Thread(task).start(); System.out.println(task.get()); } } class ThreadImpThree implements Callable<Integer>{ @Override public Integer call(){ System.out.println("ThreadThreeImp"); return 666; } } //ThreadThreeImp //666
Java线程五种状态
Thread thread = new Thread()。
Java线程三种终止方式
while(true) { ... }
类似的循环结构来不断的接收来自客户端的请求。此时就可以用修改标志位的方式来结束 run() 方法的执行while(!exit){ doSomething(); }
public class Main{ public static void main(String args[]) throws Exception{ Thread thread = new Thread(new ThreadImp()); thread.start(); Thread.sleep(3000); thread.interrupt(); } } class ThreadImp extends Thread{ @Override public void run() { while(true) { System.out.println(Thread.interrupted()); for(int i = 0; i < 100000; i++) { for(int j = 0; j < 50000; j++) {long value = Integer.MAX_VALUE * Integer.MAX_VALUE;} } } } } //线程一直会运行,肯定会有一次输出true
参考文章
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算