java20(多线程--06 停止线程与守护线程与死锁)

停止线程:

        stop方法已过时。那么该如何停止线程呢?只有一种,run方法结束

        开启多线程运行,运行代码通常都是循环结构。因此只要能控制住循环就可以让run方法结束,就可以让线程结束。我们可以通过flag的真假来控制线程的运行与结束

        但是有种特殊情况(线程处于阻塞状态时候,他并不会读取flag标记),这时候我们就可以使用interrupt()方法

守护线程:

        setDaemon  当正在运行的进程都是守护进程,java虚拟机退出    

死锁: 

        同步中嵌套同步

        例如:创建两个字符串a和b,再创建两个线程A和B,让每个线程都用synchronized锁住字符串(A先锁a,再去锁b;B先锁b,再锁a),如果A锁住a,B锁住b,A就没办法锁住b,B也没办法锁住a,这时就陷入了死锁。 

            

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 5,189评论 0 23
  • 单任务 单任务的特点是排队执行,也就是同步,就像再cmd输入一条命令后,必须等待这条命令执行完才可以执行下一条命令...
    Steven1997阅读 1,243评论 0 6
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 3,023评论 1 18
  • 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲...
    李欣阳阅读 2,529评论 1 15
  • 《与神对话》这本书我还是买了在亚马逊搞活动时买的。断断续续的看了一些,觉得真的好新奇。它说每个人都是一个神,而神的...
    duoduo_four阅读 224评论 0 1