线程学习一下

1:守护线程,thread.setDaemon(true);

定义:守护线程--也称服务线程,在没有用户线程可服务时会自动离开。优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。

设置:通过setDaemon(true)来设置线程为守护线程将一个用户线程设置为守护线程的方式是在 线程对象创建 之前 用线程对象的setDaemon方法。


public static void main(String[] args) {

try {
MyThread thread = new MyThread();
thread.setDaemon(true);
thread.start();
Thread.sleep(5000);
System.out.println("我离开thread对象也不再打印了,也就是停止了!");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

2:获取线程的名称和id

public static void main(String[] args) {
Thread runThread = Thread.currentThread();
System.out.println(runThread.getName() + " " + runThread.getId());

}

3:判断线程是否存活

System.out.println("Thread.currentThread().isAlive()="

+ Thread.currentThread().isAlive());

4:

线程对Thread.interrupt

Thread.suspend很容易死锁。如果目标线程挂起来,他将给监听器上锁用以保护重要的系统资源,其他线程将不能访问该资源直到目标线程恢复工作。如果线程在恢复一个企图给监听器加锁的线程前调用了resume方法,则导致死锁。这种死锁称之为冰冻过程。详细请看https://blog.csdn.net/loongshawn/article/details/53034176“”


interrupted只是给线程添加个停止标记,并未停止线程

5:能停止线程的方法:异常法


6:暂停线程和恢复线程的方法



7:suspend和resume的缺点不同步

8:线程的优先级:线程的优先级分为1到10,如果不是则抛出异常

9线程的优先级


为为线程设置优先级

10:守护线程:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值