并发与多线程(1)

一、并发基本概念和实现

       (1)概念

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

       (2)分类

                单核:某一个时刻只能执行一个任务,由操作系统调度,每秒钟进行多次所谓的任务切换,这种切换要有时间开销。

                多核:在一块芯片上有多个CPU,可以同时执行多个任务。

      (3)作用

                同时执行多个任务,提高性能。

      (4)可执行程序

               磁盘下的某一个文件。

               4.1  windows下:扩展名为.exe的文件

               4.2  linux下:ls -la,rwxrwxrwx(x可执行权限)

二、进程的基本概念和综述

      (1)概念:

               一个可执行程序的运行;

      (2)运行

              2.1  windows下:双击一个可以执行的的程序

              2.2  linux下:./文件名    eg:   ./收费系统

三、线程的基本概念和综述

      (1)概念

               用来执行代码的一条通路;

      (2)分类

               2.1 主线程:每个进程只有一个主线程;进程(可执行程序)运行起来,主线程自动运行;

               2.2 子线程:自己手动创建用来执行代码的的通路

     (3)特点

               3.1 每个线程都有自己独立的堆栈空间;

               3.2 线程切换会消耗程序运行的时间,不宜太多,一般不超过300条;

               3.3 一个新线程代表一条新的通路;

               3.4 多线程开销远远小于多进程;

               3.5 线程的启动比进程速度快,更轻量级,但是要注意数据的一致性问题;

四、C++11新标准线程库

     (1)线程的创建

            1.1  一般方法不能跨平台:

                   windows: CreateThread()、_beginthread()、_beginthreadex();

                   linux:pthread_create();

             1.2 新标准创建方法,可以跨平台,可移植,减少代码的开发量;

猜你喜欢

转载自blog.csdn.net/weixin_41734758/article/details/109099010