多线程之基本概念

多线程的一些概念:

程序:完成某个任务或功能时,选择一种编程语言而编写的一组指令的集合。

软件:软件 = 程序 + 程序运行所需的一些源文件。

进程:程序的一次运行。 进程之间是独立的,操作系统在分配资源的时候是以进程为单位的,两个进程之间进行切换,通信时,成本较高。

线程:进程中的其中一条执行路径。同一个进程之间可以共享部分内存(方法区,堆),所以数据交换的成本较低;每个线程的有些内存又是独立的(如:虚拟机栈、本地方法栈、程序计数器等)。且线程的切换对于CPU和操作系统而言,成本也很低,所以多线程代替多进程实现多任务开发。注:线程是CPU调度的最小单位。

并行:多进程同时运行。例如你在听音乐的同时写作业。要求同时进行的,这个是针对CPU多核,同时运行多个。

并发:多线路同时运行。

CPU:一个CPU同一时间只能运行一个线程的任务,但是其运行速度较快,CPU 会在多线程之间快速的切换。

猜你喜欢

转载自blog.csdn.net/weixin_45729594/article/details/108522830