C++ ~ Android bionic 缺失 pthread_cancel 的解决方法
在native code中使用多线程好处多多,但是Android的bionic并没有完全实现标准POSIX线程库的所有API,例如pthread_cancel()。但是google这样做肯定有原因,被cancel的thread不一定已经把自己拥有的资源释放掉,因此很可能带来内存泄露,锁没有释放等问题。这些问题在移动设备上更加突出。首先介绍一个指标的方法,使用signal替代cancel调用:当worker thread超时时,在主线程(或者是监视进程)中调用if ( (status = pthread
原创
2022-05-19 19:42:46 ·
747 阅读 ·
0 评论