并行,并发和锁的问题

并行:多个处理器,从硬件角度真正意义的同时进行
多线程:只是逻辑上的并行,同一时刻还是只有一个线程发生
并发:并行和多线程都叫并发

关于锁:
不管并发并行,只要存在共享内存,就要考虑加锁的问题。

锁的实质:都是通过阻塞线程实现的(一个线程申请锁未释放,另一个锁再申请就会线程就会阻塞),区别就是这个锁作用的范围,是否多个进程可以共享这个锁。

几种锁的区别:(都是阻塞线程)
semphore:信号量,多个进程之间也可以用,多用于共享内存
mutex: 互斥锁,多个进程之间不能用,阻塞的,由操作系统唤醒。
自旋锁:和互斥锁相似,区别就是不是阻塞的,不是休眠然后被操作系统唤醒,而是自己占用cpu,一直查询锁是否被释放
dpdk自带的读写锁:
rte_write_lock: 该锁被申请后,其他线程不能读也不能写
rte_read_lock: 该锁被申请后,其他线程不能写
写时独占,读时共享 => 写的时候加写的锁,读的时候加读的锁。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值