c++多线程编程遇到的问题小结

众所周知,多线程编程很容易遇上诸如丢失更新、脏读、死锁等烦人的线程冲突问题。多线程的问题一旦发生便很难定位和解决,所以要在编程的初始阶段就要注意避免多线程程序常见的错误。下面总结一些个人在c++多线程编程中遇上的问题。
1、类中的数据成员要尽可能设置读写专用函数,并且在函数中用互斥锁进行并发保护。 1、类中的数据成员要尽可能设置读写专用函数,并且在函数中用互斥锁进行并发保护。
解决线程冲突的最基本方法,不用多解释。 解决线程冲突的最基本方法,不用多解释。
2、类中的成员函数要尽量避免在没有保护的情况下对某个成员变量的多次读取或者修改。 2、类中的成员函数要尽量避免在没有保护的情况下对某个成员变量的多次读取或者修改。
如果一个成员函数对某个成员变量多次读写,那么如果在这个函数对成员变量读写的期间其他并发线程也对成员变量进行了修改,这个成员函数的操作就很有可能被打乱并引发未知错误。 如果一个成员函数对某个成员变量多次读写,那么如果在这个函数对成员变量读写的期间其他并发线程也对成员变量进行了修改,这个成员函数的操作就很有可能被打乱并引发未知错误。
    例: 例:
经验分享 程序员 微信小程序 职场和发展