一般情况下,尽量不要把栈上的局部变量传地址给其他函数,特别是当其他函数需要切换线程的时候,如果其他线程对该变量调用析构函数,那么可能会core掉。因为设定局部变量的函数可能已经执行结束(异步切换线程时),如果该函数结束,那么局部变量会被析构,在其他线程中再访问这个局部变量势必会出错。如果非要用局部变量,那么必须保证定义局部变量的函数没有执行结束(即同步,线程一直在waiting)。
局部栈变量不要传引用给可能切换线程的函数
最新推荐文章于 2022-07-20 22:00:00 发布
一般情况下,尽量不要把栈上的局部变量传地址给其他函数,特别是当其他函数需要切换线程的时候,如果其他线程对该变量调用析构函数,那么可能会core掉。因为设定局部变量的函数可能已经执行结束(异步切换线程时),如果该函数结束,那么局部变量会被析构,在其他线程中再访问这个局部变量势必会出错。如果非要用局部变量,那么必须保证定义局部变量的函数没有执行结束(即同步,线程一直在waiting)。