大家好,我是我是深圳分院第十期java学员,一枚正直纯洁善良的Java程序员。今天给大家分享一下,修真院官网java任务十:多线程
1.背景介绍
线程,有时被称为轻量级进程。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位。
单个程序中同时运行多个线程完成不同的工作,称为多线程
Runnable and Thread
Thread实现了Runnable,至于两者的真正区别最主要的就是一个是继承,一个是实现;
使用Runnable可以避免java中的单继承的限制
2.知识剖析
3.常见问题
多线程与多进程
1。单进程单线程:一个人在一个桌子上吃菜。
2。单进程多线程:多个人在同一个桌子上一起吃菜。
3。多进程单线程:多个人每个人在自己的桌子上吃菜。
4.编码实战
5.扩展思考
锁与同步
当两个或者多个线程同时想要去获取共享资源的锁时,
但每个线程都要等其他线程把他们各自的锁给释放,才能继续运行,这就是死锁.
6.参考文献
百度,博客
7.更多讨论
问题一:runnable与thread的使用区别
答一:建议使用runnable,runnable是接口可以被实现,thread是类得被继承,所以出于复用的考虑肯定用接口实现更加符合我们使用规则
问二:同步使用哪个方法
答二:一般使用syncronized
问三:为何会发生互锁情况
答三:因为线程之间占有了资源但是又在请求资源时发生相互占用需要使用的资源,但是又不放开