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多线程的主要内容,如果未能解决你的问题,请参考以下文章