多线程相关
volatile long m_value;
赋值
::InterlockedExchange(&m_value, val);
增加值
::InterlockedExchangeAdd(&m_value, val);
增加1
::InterlockedIncrement(&m_value);
减少1
::InterlockedDecrement(&m_value);
保证这些值都是原子的,可以通过上述来封装,或者直接使用std中封装好的std::atomic<int>
进程启动前后内存清理相关
qt提供了程序退出前,以及退出后的函数执行,可以在这些地方释放关心的程序对象
qAddPostRoutine原理
执行的逻辑、定义宏等更方便书写 qAddPostRoutine(&processBeforeExit); 就可以在最后执行该函数
析构的时候再执行atExit的时机的操作~, 喵
自己实现线程池和qt实现线程池
重复造轮子的原因是:qt实现的线程池有性能问题,如退出进程慢等,而且我们自己的threadpool可以通过设置sleeptime来降低cpu占用
msleep的用法是 qthread中自带的一个方法,和sleep的区别是?
QThread also provides static, platform independent sleep
functions: sleep(), msleep(), and usleep() allow full second,
millisecond, and microsecond resolution respectively. These
functions were made public in Qt 5.0.
todo 好奇postthreadmessage是干什么的?
9407

被折叠的 条评论
为什么被折叠?



