一、区别
并行
并行:多个处理器,从硬件角度真正意义的同时进行
多线程多线程:只是逻辑上的并行,同一时刻还是只有一个线程发生
并发并发:并行和多线程都叫并发
二、锁 1. 关于锁:
不管并发并行,只要存在共享内存,就要考虑加锁的问题。
2. 锁的实质:都是通过阻塞线程实现的(一个线程申请锁未释放,另一个锁再申请就会线程就会阻塞),区别就是这个锁作用的范围,是否多个进程可以共享这个锁。
3. 几种锁的区别:(都是阻塞线程) semphore:信号量,多个进程之间也可以用,多用于共享内存
mutex: 互斥锁,多个进程之间不能用,阻塞的,由操作系统唤醒。
自旋锁:和互斥锁相似,区别就是不是阻塞的,不是休眠然后被操作系统唤醒,而是自己占用cpu,一直查询锁是否被释放
dpdk自带的读写锁:rte_write_lock: 该锁被申请后,其他线程不能读也不能写 rte_read_lock: 该锁被申请后,其他线程不能写 写时独占,读时共享 => 写的时候加写的锁,读的时候加读的锁。
———————————————— 版权声明:本文为CSDN博主「leo_cuiyiming」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/leo_cuiyiming/article/details/52863415