并发与多线程

并发的实现方法:

两个或者更多的任务(独立的活动)同时发生(进行)

实现并发的手段:

a)我们通过多个进程实现并发

b)在单独的进程中,创建多个线程来实现并发;自己写代码创建除了主线程之外的其它线程。

进程是资源分配的最小单位,线程是调度的最小单位

2.1多进程并发

world启动后就是进程,IE浏览器启动后就是进程。

进程之间通信(同一台服务器上:管道、文件、消息队列、共享内存,不同服务器上:socket通信技术)

2.2多线程并发,单个进程中,创建了多个线程。

线程:一个进程中的所有线程共享地址空间(内存);

全局变量、指针、引用 都可以在线程之间传递,所以,使用多线程开销远远小于多进程。

共享内存带来的新问题,数据一致性问题。

在C++11新标准线程库

以往:windows:CreateThread(),_beginthred(),_beginthreadexe() 创建线程

linux:pthread_create()创建线程

以往多线程代码不能跨平台;

POSIX thread(pthread):跨平台,做一番配置,所以用起来也不是很方便

从C++11新标准,C++语言本身增加对多线程的支持,意味着可移植性(跨平台)。

一旦detach后不能再join了,否则系统会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值