java高并发实战(二)——线程(并行程序)基础
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。
一、什么是线程?
线程是进程的执行单元(具体这里就不赘述了,详细原理百度即可查到)
二、线程的基本操作
三、创建线程的方式(这里只介绍到JDK1.8以前,后续再把JdK1.8加进来)
start与run用法:如果只run不start,那么不会开辟新的线程,会在原来run方法中执行,执行start()才会去创建开辟一个新线程。
四、终止线程
stop不推荐,因为他是暴力性的,因此,无法保证数据的一致性,无法追踪线程执行到哪一步。
五、中断线程
举例:
六、挂起与继续执行
七、等待与谦让
wait,notifyAll建议使用在系统级上因为他们作用在object对象上,就是所有,不建议用在某一线程上
八、线程守护
1.在后台默默的完成一些系统性服务,比如垃圾回收。JIT线程就可以理解为守护线程
2.当java应用内,只有守护线程时,Java虚拟机就会自然退出
Thread t=new Daemon T();
t.setDaemon(true);
t.start();
九、线程优先级
优先级,high高优先级并不是一定执行,只是抢占执行的概率比较高
这里就简单介绍线程的基础用法。后续会深入了解线程。