进程概念
当我们双击桌面图表运行程序,操作系统会把当前的这个程序加载到内存中,在内存中给当前的程序分配一段独立的运行空间(大小可变)。这片空间就专门负责当前这个程序的运行。
不同的应用程序运行的过程中都需要在内存中分配自己独立的运行空间,彼此之间不会相互的影响。我们把每个独立应用程序在内存的独立空间称为当前应用程序运行的一个进程。
进程:它是内存中的一段独立的空间,可以负责当前应用程序的运行。当前这个进程负责调度当前程序中的所有运行细节。
线程概念
启动的QQ聊天软件,需要和多个人进行聊天。这时多个人之间是不能相互影响,但是它们都位于当前QQ这个软件运行时所分配的内存的独立空间中。
在一个进程中,每个独立的功能都需要独立的去运行,这时又需要把当前这个进程划分成多个运行区域,每个独立的小区域(小单元)称为一个线程。
线程是位于进程中,负责当前进程中的某个具备独立运行资格的空间。
进程是负责整个程序的运行,而线程是程序中具体的某个独立功能的运行。
一个进程中至少应该有一个线程。
进程是资源分配的基本单位
进程中包含多个线程,线程共享进程的资源
线程是处理器调度的基本单位
多线程
现在的操作系统基本都是多用户,多任务的操作系统。每个任务就是一个进程。而在这个进程中就会有线程。
真正可以完成程序运行和功能的实现靠的是进程中的线程。
多线程:在一个进程中,我们同时开启多个线程,让多个线程同时去完成某些任务(功能)。
多线程的目的:提高程序的运行效率。
多线程运行原理
电脑中的程序的运行不是同时在运行的。CPU负责程序的运行,而CPU在运行程序的过程中某个时刻点上,它只能运行一个线程。而不是多个线程。而CPU它可以在多个线程之间进行高速的切换。而切换频率和速度太快,给使用者“同时”运行程序的感觉。
一台电脑最多最多同时运行多少个线程?
如果是AMD的cpu,则最多运行 cpu核心数个线程
如果是Intel的cpu,则最多运行 cpu线程数个线程。(因为intel使用了超线程技术)
i7 四核八线程
i5 四核四线程