线程概述
来源:互联网 发布:知乎 神话类电视剧 编辑:程序博客网 时间:2024/05/14 19:14
1. 并行和并发
并行:指同一时刻多条指令在多个处理器上执行
并发:同一时刻只能以一条指令执行,但多线程指令间采用快速的轮换机制,使得宏观上是多条指令在执行。
并发只在单处理器上提高系统性能,通常情况下,多线程会比船型执行多个任务要耗时,因为多了线程的上下文切换,但是顺序执行容易引发阻塞现象,比如任务R在等待I/O操作发生阻塞,导致后面的任务也无法继续执行。单处理器上常见的提高性能事例是事件驱动程序。
2.进程和线程
1)进程是程序的一次执行,各进程之间是独立存在的实体,拥有各自的系统资源。
(2)线程是进程的执行单元,线程在进程中是独立的并发的执行,但进程被初始化后,主线程就被创建了
(3)线程是进程的组成部分,一个进程可以有多个线程,每个线程可以有自己独立的虚拟机栈、程序计数器和局部变量,但却不拥有系统资源,它与其它线程共享父进程的系统资源。
(4)线程它并不知道进程中是否还有其他的线程存在,线程的执行是抢占式的,当前运行的线程随时有可能被挂起,以便其他线程的执行。
(5)一个线程可以创建和撤销另外的一个线程,同一个进程中的线程可以并发执行。
3.多线程的优势
进程在执行过程中拥有独立的内存单元,但是多个线程共享进程的内存单元,大大提高了程序的运行效率;
同一个进程的多个线程之间存在一些共性,它们共享进程的虚拟空间,线程共享的资源包括:进程代码段、进程共有数据等;
a.进城之间不能共享内存,但是线程之间可以共享内存;
b.系统创建新的进程要为其重新分配系统资源,但是创建新的线程代价要小很多,所以使用多线程来实现多任务,并发性更好
c.Java内置了很多多线程功能支持,简化了Java的多线程操作
4.线程机制
Java的线程机制是抢占式的,这就表示机制会周期性的中断线程,将上下文切换到其他线程,为每个线程提供时间片,使得每个线程都会有合理的时间来执行他的任务。上下文切换的开销通常小于抢占式系统的
- 线程概述
- 线程概述
- 线程概述
- 线程概述
- 线程概述
- 线程概述
- 线程概述
- 线程概述
- 线程概述
- Java线程之线程概述
- Linux 线程(1):线程概述
- java 线程概述
- linux 线程概述
- 进程,线程,事物概述
- MFC线程处理概述
- Windows线程函数概述
- Java线程概述
- Java线程基本概述
- 内存泄漏
- Unity贴图压缩格式的选择
- java语言获取本周一和下周一
- 抢注数字域名 数字含义解释
- 前端Web工程师学习路线
- 线程概述
- AutoMapper(Object-Object-Mapping)
- PSR-4
- mvc备用笔记
- 设计模式:访问者模式
- SVN操作
- junit 和 testNG的区别
- 编译php并与nginx整合
- kubernetes中kubelet代码解析