C++11的多线程并发编程(一)

Akili ·
更新时间:2024-09-21
· 805 次阅读

C++11的多线程并发编程(一) 在疫情期间以及未来毕业后即将工作的憧憬中,给自己立个学习flag,学习并第一次通过CSDN记录下C++11的多线程并发编程。初学者的我写的不好,还望大家多多指正与批评, 学习多线程并发编程首先一定得熟悉并发相关概念,其中包括可执行程序,进程,线程,C++11。 了解基础概念

可执行程序
当在windows系统下,鼠标双击某后缀名.exe软件时,通过后台查看,运行的.exe即为可执行程序;而在Linux系统下,这里我实验的是Ubuntu下,通过终端ls -la查看可执行文件获取该文献是都具有x权限,即判断是否为可执行程序。

进程
可执行程序与进程的关系密不可分,当可执行程序运行起来,即创建一个进程进行运行该程序,简称–进程就是以及跑起来的可执行程序。
例如,编写一个c++程序test.cpp,编译 通过./test 运行,即该程序运行起来了,即创建了一个进程,而每个进程都有一个主线程,即main线程,执行输出代码。

#include using namespace std; int main() { cout << "hello comedy" << endl; return 0; }

线程
线程就是在进程中执行指定任务,上例中即为主线程执行过程,而并发是指多线程执行不同任务,在进程中,多线程同时完成不同任务。当然,当任务多到一定数量时,线程的数量的增加会带来系统的时间消耗。

多进程并发与多线程并发的区别
多进程的并发在同一台电脑,多个可执行程序共同执行,例如,一边听音乐和一边浏览网页,而进程之间的通信就是管道,文件,共享内存。
而在不同电脑上,不同进程之间的通信就需要网络通信技术传递数据。

多线程并发即是在一个进程中,创建了多个线程,同时进行多任务的执行,而进程的通信方式则可以通过定义全局变量,全局指针,引用来进行传递。

下一个开始记录c++11的新标准线程库。


作者:COMEDY_lang



c++11 C++ c+ 并发编程 多线程 并发 线程

需要 登录 后方可回复, 如果你还没有账号请 注册新账号