gpt4 book ai didi

C++。多线程瓶颈到带有列表的单线程应用程序

转载 作者:行者123 更新时间:2023-11-28 00:58:02 26 4
gpt4 key购买 nike

我有一个多点触控应用程序。它有 3 个 ccv 应用程序向它发送 udp 数据包。创建的应用程序通过多线程的 ofxTuio 接收所有这些数据包。然后,这些接触将进入我们在单个线程上编写的代码。我们有显示对象。它们每个都有一个列表,其中包含指向它们包含的所有对象的指针。比如我们写了,onEnterFrame, addChild, removeChild;功能类似于您在 actionscript 中看到的显示列表语法。但是,由于多线程 tuio 事件,我们在对象列表中遇到了迭代错误(并发)问题。我们如何防止这种情况发生。似乎锁定(互斥锁)是不正确的,因为这些列表没有在多个线程上访问。我已经为这个列表创建了一个自定义队列,当对象被删除或添加到列表中时,它们从不迭代,有几个 bool 值和一些额外的队列列表。我怀疑人们遇到过这样的事情,什么是正确的做法?

最佳答案

如果您有多个线程,标志是不够的。使用互斥锁或其他一些关键部分来锁定读写访问。这就是它们的用途,尤其是当您有任何异步或未经请求的事件时。

关于C++。多线程瓶颈到带有列表的单线程应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10095867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com