守护线程一般用于:
1. 自动下载
2. 操作日志
3. 操作监控
方法是通过线程对象
setDeamon(boolean flag);
true为守护线程
false缺省属性,正常线程
Thread.sleep(int ms);
在对应线程代码块中,当前线程休眠指定的时间。
Object类内 wait(int ms);
让当前线程进入一个计时等待状态
1. 规定的时间及时完毕,线程回到可运行状态
2. 在等待时间内,通过其他线程被notify或者notifyAll唤醒
Sleep方法
1. 调用之后休眠指定时间
2. sleep方法必须执行在run方法内,才可以休眠线程
3. sleep不会打卡当前线程占用的锁对象。
线程中有锁存在,线程需要进入带有锁操作的同步代码,如果锁对象被别人持有,只能在锁外等待
锁阻塞状态的线程是否能够抢到锁对象有很多因素
1. 优先级问题,非决定因素
2. CPU执行概率问题。
后期高并发一定会存在多线程操作锁对象问题,秒杀,抢购...
队列方式来处理锁对象。
线程中有锁存在,线程需要进入带有锁操作的同步代码,如果锁对象被别人持有,只能在锁外等待
锁阻塞状态的线程是否能够抢到锁对象有很多因素
1. 优先级问题,非决定因素
2. CPU执行概率问题。
后期高并发一定会存在多线程操作锁对象问题,秒杀,抢购...
队列方式来处理
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |