1.线程安全是什么?
在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。
2.什么情况是线程不安全?
3.最基本的保证线程安全的方式?
- 锁:加锁的目的就是保证共享资源在任意时间里,只有一个线程访问,这样就可以避免多线程导致共享数据错乱的问题。
4.锁是如何实现原子操作的?
依赖硬件。三条指令一次实现。
5.互斥锁的使用:
参考:[]:https://blog.csdn.net/yuanyuan320/article/details/110225815
大家共用一把锁,每次使用前先上锁,如果锁被上过了,就不能用。
互斥锁的使用:
读写锁在pthread 中的使用以及c++实现:
https://blog.csdn.net/weixin_45425093/article/details/121158727