专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Java多线程编程核心技术总结

Java多线程编程核心技术总结

更新时间:2021-05-18 10:44:04 来源:赢咖4 浏览889次

1.进程和线程的概念

(1)进程:进程是操作系统的基础,是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位。

(2)线程:线程可以理解为进程中独立运行的子任务,线程只能归属于一个进程并且它只能访问该进程所拥有的资源。

2.实现多线程编程的方式

(1)继承Thread类,该类在源码实现上,也是实现了Runnable接口,使用该类最大的局限性就是java不支持多继承。

(2)实现Runnable接口.

3.常用API

(1)currentThread():返回代码段正在被哪个线程调用的信息。

(2)isAlive():判断当前线程是否处于活动状态。

(3)sleep():当前线程休眠。

(4)getId():获取当前线程的唯一标识。

4.停止运行线程的方法

(1)使用退出标志,是线程正常退出,也就是当run方法完成后线程退出。

(2)使用stop方法强行终止线程,不推荐此方法,因为stop和suspend、resume方法都是作废过期的方法,使用将产生不可预期的结果。

(3)使用interrupt方法中断线程。

5.suspend方法和resume方法

(1)suspend():暂停线程

(2)resume():恢复暂停线程的执行

缺点:这两个方法,使用不当,极易造成公共的同步方法被独占,使得其它线程无法访问。还会出现因为线程暂停而导致数据不同步的情况

6.yield()

这个方法的作用是放弃当前的CPU资源,将它让给其它的任务去占用CPU执行时间,但放弃的时间不确定,有可能刚刚放弃,马上又获得CPU时间片。

7.线程的优先级

(1)在操作系统中,线程可以划分优先级,优先级较高的线程得到的CPU资源较多,也就是CPU优先执行优先级较高的线程对象中任务。在java中,线程的优先级分为1~10这10个等级。如果超出,抛出异常

(2)线程优先级的继承性:在java中,线程的优先级具有继承性,比如A线程启动B线程,则B线程跟A线程的优先级是一样的。

(3)优先级具有规则性和随机性:高优先级的线程总是大部分先执行完,但不代表高优先级的线程总是每一次都先执行完。

8.守护线程

在java线程中,有两种线程,一种是用户线程。一种是守护线程,守护线程是一种特殊的线程,当进程中不存在非守护线程了,则守护线程自动销毁。典型的守护线程就是垃圾会收线程

以上就是赢咖4小编介绍的"Java多线程编程核心技术总结",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>