工作中用到live555做rtsp用戶端,由于是用的多線程擷取不同的視訊源,偶爾會出現崩潰問題。
最終定位在Locale這個類中,此類用了setlocale函數,然而setlocale不是線程安全。
解決辦法有兩個:
1、加鎖
2、在每個rtsp工作線程函數開頭加上一句
_configthreadlocale(_ENABLE_PER_THREAD_LOCALE) 使setlocale隻針對目前線程起作用
建議使用第二種方法
工作中用到live555做rtsp用戶端,由于是用的多線程擷取不同的視訊源,偶爾會出現崩潰問題。
最終定位在Locale這個類中,此類用了setlocale函數,然而setlocale不是線程安全。
解決辦法有兩個:
1、加鎖
2、在每個rtsp工作線程函數開頭加上一句
_configthreadlocale(_ENABLE_PER_THREAD_LOCALE) 使setlocale隻針對目前線程起作用
建議使用第二種方法