时,是否为线程保留/提交了堆栈
更广泛地说,是否存在与已终止的线程关联的重要资源,但由于存在有效的句柄,因此仍然存在?
原因:我需要修改一种“作用域单例”,因此它不会返回单个对象,而是返回每个线程对象。我不能依赖线程创建/终止通知,更不用说在流程范围内通知了。
目前,我将对象存储在map<ThreadID, Object>
中,并使用适合我的应用程序的缓存清理策略。为了保护自己免受OS“回收”线程ID的影响,我保持线程打开的句柄。 (拍摄
副作用是在某些极端情况下为长端点线程保持打开句柄。
答案 0 :(得分:2)
答案 1 :(得分:0)
也许您应该使用pthread_getspecific
,pthread_setspecific
和pthread_key_create
来管理每个线程的单身人士。