多线程技术

线程调度分为:
1.
分时调度
2.抢占式调度
Java使用的为抢占式调度,优点在于线程间进行着高速的切换
提高程序运行效率,让 CPU 的 使用率更高。

Callalble接口支持返回执行结果,需要调用FutureTask.get()得到,此方法会阻塞主进程的继续往下执行,如果不调用不会阻塞。

多线程继承Thread:
Thread:是java提供实现线程的类,想要开启实现路径需要继承Thread
每个线程都拥有自己的线空间,共用一份内存

需要定义run方法,run方法是线性要执行的新的执行路径。触发方式不是调用,是通过Thread对象的start的方法来启动。

Runnable  
1.通过创建任务,然后分配给线程的方式来实现多线程,更适合多个线程同时执行相同任务的情况
2.可以避免单继承所带来的局限性
3.任务和线程本身分离,提高程序的健壮性
4.后续学习的线程池技术,接受Runnable类型的任务,不接收Thread


守护线程:守护用户线程,当最后一个用户线程,所以守护线程自动死亡
用户线程:当一个进程不包含任何的存活的用户线程时,进程结束
线程安全问题:同一个任务多个线程情况下,会产生不安全问题。解决方法是隐式锁、显示锁。区别在显示锁需要自己解锁 隐式锁不需要自己解锁(避免产生线程死锁,死锁是因为在一个任务调用了另外一个任务)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值