zoukankan      html  css  js  c++  java
  • 创建线程方法&守护线程

    创建线程方法1、
    	class mythread extends Thread{
    		重写run方法
    	}
    	mythread m=new mythread ()
    	启动:m.start()
    
    创建线程方法2、
    	class mythread implements Runnable{
    	重写run方法
    	}
    	mythread m=new mythread ()
    	Thread t=new Thread(m)//Thread t=new Thread(m,“xx线程name”)
    	t.start()
    	这种方式 Runnable的代码可被多个线程共享,适用于多个线程处理同一资源,原因如下
    	Thread t=new Thread(m,“xx线程name”)
    	Thread t=new Thread(m,“xx线程name1”)
    阻塞状态:
    	sleep()方法可进入阻塞,时间结束进入就绪状态
    
    守护线程:
    	线程对象.setDaemon(true)必须在start()方法之前调用
    	在守护线程中产生的新线程也是守护线程
    	不是所有任务都可以分配给守护线程,比如读写操作、计算逻辑
    	其他线程结束执行后,守护线程会立即结束
    
    
    
    用jstack生成线程快照,来查看哪些是守护线程在jdk下的bin目录里
    	jstack -l pid(如9400)
    	含有daemon的是守护线程 tid、nid:cpu占有率
    

      

  • 相关阅读:
    Enter passphrase
    laravel扩展包-私有库
    php7中异常
    laravel-admin(自定义表单视图)
    laravel-admin(自定义表单与验证)
    ZJU校赛划水记
    bzoj 4762: 最小集合
    WC2017 颓废记
    bzoj 2337: [HNOI2011]XOR和路径
    bzoj 2870: 最长道路tree
  • 原文地址:https://www.cnblogs.com/qinyios/p/11124479.html
Copyright © 2011-2022 走看看