- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是一个线程问题,我基本上是从这里开始制作线程安全的库的。我的用例如下 -
struct <>
{
int thread_specific_value;
}
1) 例如旋转 5 个线程。
2) 每个线程在上述数据结构中进行操作并存储thread_specific_value。这是在每个线程初始化时动态分配的,并添加到 QThreadStorage。
3) 一旦所有线程返回到主线程,我喜欢访问所有线程的errno 值并进行一些处理。在我从主线程中删除线程之前,是否可以获取其存储数据的信息并存储在主线程的特定存储中。
简而言之,我如何遍历所有线程特定存储数据的 QThreadStorage 并从主线程进行一些处理?
最佳答案
存储在 QThreadStorage 中的数据只能从放置它的线程访问。时期。如果你想从其他线程访问相同的数据,你必须将它额外地存储在别处。特别是,线程特定值在线程退出时被销毁;如果您想保留该值,请在线程退出之前将其保存在某个地方。
总之,不要尝试使用QThreadStorage进行线程间通信。这不是它的目的。
关于c++ - 关于使用 QThreadStorage 的线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6448668/
这是一个线程问题,我基本上是从这里开始制作线程安全的库的。我的用例如下 - struct <> { int thread_specific_value; } 1) 例如旋转 5 个
我在 QThreadStorage 中存储的每个线程都有一个 sqlite3* 实例。问题是当我退出时,QThreadStorage 删除了指针。我如何让它改为调用 sqlite3_close? 最佳
我对使用 QThread 还很陌生。我正在使用 QThread 从 Axis Ip Camera 抓取图像。在以下代码片段中,我将相机类移至新线程: QThread camThread; camera
我是一名优秀的程序员,十分优秀!