并发、进程、线程基本概念
1.1并发
概念:两个或更多的任务(独立的活动)同时发生(进行);一个程序同时执行多个独立的任务;
(1)单核cpu某时刻只能执行一个任务;由操作系统调度,每秒中进行多次“任务切换”,这是并发的假象,这种切换(上下文切换)是要有时间开销的;
(2)多核能够真正的并行执行多个任务(硬件并发);
**使用并发的原因:主要原因是同时可以干多个事,提高性能。
1.2可以执行程序
windows .exe Linux ls -ls
1.3进程
概念:可执行程序运行起来,就叫作创建了一个进程。
1.4线程
概念:每一个进程(执行起来的可执行程序),都有一个主线程,这个主线程是唯一的,一个进程只有一个主线程。
(1)主线程随着进程启动起来
**线程是执行代码的 线程理解成一条代码的执行通道;
(2)除了主线程外,可以创建其他线程,其他线程走的是别的道路;
每创建一个新线程,可以在同一时刻,多干一个不同的事;
多线程(并发),每个线程都需要一个独立的堆栈空间,线程之间的切换要保存很多中间状态。
切换耗费程序运行的时间。
2.实现并发
1.实现并发手段:A.通过多个进程实现并发 B.创建多个线程实现并发;
2.多线程与多进程混合使用 优先考虑多线程。