44 C++ 多线程 进程线程的基本概念-并发,进程,线程,可执行程序的基本概念

一 并发,进程,线程的基本概念和综述

1 并发

两个或者更多的任务(独立的活动)同时发生,以提高性能

一个程序同时执行多个独立的任务。

在单核CPU的计算机上,某一个时刻只能执行一个任务,那么如何做到 一个 程序同时执行多个独立的任务呢?实际上是由操作系统调度,一个任务执行一段时间(这个时间一般比较短,ms为单位的,我们这里就假设是10ms),然后切换到另一个认为执行一段时间(这个时间当然也很短,假设是5ms),这样来来回回的在很短的时间内切换,给人们造成是多个认为在同时进行的错觉。这种模式我们叫做“任务切换”。任务切换来完成并发是有时间开销的。比如说:你一边听歌曲,一边打游戏。当CPU执行游戏的时候的,当时间到了的时候,要去执行播放歌曲,那么就需要将游戏当前的状态保存起来,然后等执行歌曲播放的时间到了的时候,又需要切换回游戏,这时候,就需要将游戏之前的状态恢复,这都是需要时间的。

对于多核CPU,是真的能实现并行执行对个任务的。但实际上任务数总是大于你CPU数量的,因此,也是 任务切换为主的。

2 可执行程序

是一个文件。

在windows一个扩展名为exe 的程序

在linux上 ,如果一个文件的属性是: rwxrwxrwx ,(x就代表着执行权限),在linux下,使用ls -la 列出文件属性 

3 进程

大家已经知道了可执行程序的概念了。

当这个可执行程序运行起来的时候,就创建了一个进程。

例如:我们点击了qq.exe,就有一个qq的进程了

如果这时候,我们再点击了qq.exe,就又有了一个qq的进程了。

运行起来的进程在windows 的任务遍历器中可以查看

4 线程

4.1.每个进程都有一个主线程,这个主线程是唯一的。

4.2.当你执行一个可执行程序时,产生一个进程后,这个主线程就随着这个进程默默的启动了

4.3.主线程执行的是从 main 函数中的代码,知道return 结束。

这句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值