C++之并发与多线程
一.并发的基本概念及实现,进程、线程的基本概念
(1) 并发:两个或更多地任务(独立活动)同时发生(进行):一个程序同时执行多个独立的任务;
注:以往计算机,单核cpu(中央处理器):某个时刻只能执行一个任务:由操作系统调度,每秒钟进行多次所谓的“任务切换”,这是并发的假象(不是真正的并发),这种切换(上下文切换)是要有时间开销的,比如操作系统要保存你切换时的各种状态,执行进度等信息,都需要时间,一会切换回来的时候要复原这些信息。硬件发展,出现了多处理器计算机:用于服务器和高性能计算机领域。一块芯片上又多核(多个)cpu:双核,4核,8核,,,,能够实现真正的并发执行多任务(硬件并发);
使用并发的原因:主要就是同时可以干多个事情,提高性能。
(2) 可执行程序:磁盘上的一个文件,windows下,一个扩展名为.exe的,linux,ls -ls,rwx(x执行权限)
(3) 进程:一个可执行程序运行起来了,就叫创建了一个进程。
(4) 线程:每个进程(执行起来的可执行程序),都有一个主线程&#x