Java多线程

Posted fankongkong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java多线程相关的知识,希望对你有一定的参考价值。

1、一个进程就是一个正在运行的应用程序的实例,程序段+相关的数据段+PCB构成了进程实体。
2、进程由两个部分组成:(1)操作系统来管理这个进程的内核对象;(2)这个进程拥有的地址空间。
3、线程除了能够访问进程的资源外,每个进程还拥有自己的栈。

4、引入线程的好处:由于线程比进程更小,基本上不拥有系统资源,因此对线程的调度所付出的开销就会小很多,更能高效地提高系统内多个程序间并发执行的程度。

5、进程和线程
(1)在引入线程的os中,通常把进程作为操作系统中能资源分配的基本单位,线程是操作系统独立运行和独立调度的基本单位;
(2)线程可以看成是轻量级的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器,线程的切换开销小。
6、Java的线程是通过java.lang.Thread类来实现的

7、线程的两种模式:

(1)协作式:一个线程保留对CPU的控制知道它自己决定放弃;

(2)抢占式:系统可以任意的从线程中夺回对CPU的控制权,再把控制权分配给其它的线程,两次切换的时间间隔叫做时间片。

8、无论synchronized关键字加载方法上还是对象上,它取得的锁都是在对象上。

9、wait和sleep的区别:

(1)来源不同:sleep是Thread类提供的方法,wait继承自object;

(2)代码位置不同:wait需要写在synchronize语句块里面;

(3)是否释放锁定对象:调用wait方法需要释放锁定对象,sleep时别的写成也不可以访问锁定对象。

 

以上是关于Java多线程的主要内容,如果未能解决你的问题,请参考以下文章

什么是JAVA的多线程?

Java多线程 1.认识Java线程

Java多线程 5.栅栏

java 如何实现多线程

java中啥叫做线程?啥叫多线程?多线程的特点是啥

Java多线程-Java多线程概述