通信中的拆包,残包和多线程互斥锁的注意事项。qt,c++在多线程中一定要使用全局单列互斥锁,否则肯定会崩溃,这边在读这块内存,那边要写。在网络通信中,极有可能丢包,残包,因此要做好拆包,读取,打包
使用互斥锁千万不能重复释放
mute.unlock();
mute.unlock();
这样的写法会报错
我们一定要这样使用互斥锁:
// 自动锁,离开作用域自动解锁,不会拷贝锁
QMutexLocker locker(&g_CSR_Mutex);
使用互斥锁千万不能重复释放
mute.unlock();
mute.unlock();
这样的写法会报错
我们一定要这样使用互斥锁:
// 自动锁,离开作用域自动解锁,不会拷贝锁
QMutexLocker locker(&g_CSR_Mutex);