一、并发、进程、线程概念

并发

两个或多个任务(独立活动)同时发生;一个程序同时执行多个独立的任务。

单核cpu的并发:某个时刻中能执行一个任务,操作系统调度,每秒钟进行多次的任务切换。这种上下文切换有时间开销的,比如操作系统要保存你切换时的各种状态、变量等等。

多核并发:真正意义上的同时执行多个任务

使用并发的原因:可以同时干多个事情,提高性能。

进程

一个可执行程序运行起来了,就叫创建了一个进程

线程

每个进程只有一个主线程;

产生一个进程,这个主线程就随着这个进程默认启动起来了;

main函数就是主线程来执行的;

线程就是来执行代码的,执行一条代码的通路;

创建新线程走别的道路,main道路只属于主线程;

所有线程共享内存;

多线程(并发)

每个线程要一个独立的堆栈空间,线程之间的切换要保存很多中间状态还耗时间;

多线程优点:

  • 启动速度快,轻量级;
  • 开销少,速度开;
  • 缺点:数据一致性

WindeowsCreateThread(),_beginthread(),_beginthredexe()

Linux:   pthread_create

以往多线程不能跨平台,c++新标准可以跨平台了。

猜你喜欢

转载自www.cnblogs.com/pacino12134/p/11226778.html