如何解决线程如何将其写入矩阵的不同单元中
| 我有一个全局矩阵(类型为vector解决方法
您只需要一个互斥锁即可保护被多个线程访问的对象,其中至少有一个线程会修改该对象。
如果在任何线程访问矩阵之前(例如在启动线程之前)调整了矩阵的大小,则只有在多个线程访问同一单元格时才需要互斥量。如果您的线程正在访问不同的单元,则只要它们都不调整矩阵的大小,一切就可以了。
如果一个线程写入一个单元,而另一个线程从同一单元读取,则两个线程在访问该单元之前必须锁定相同的互斥体。如果两个线程写入同一单元,则两个线程必须再次锁定相同的互斥锁。该互斥锁可以与用于其他单元的互斥锁不同,也可以是相同的互斥锁。
如果一个线程修改了矩阵结构,而其他线程正在访问矩阵,则所有涉及的线程必须锁定同一互斥锁。这可以是与用于单个单元格的任何互斥锁不同的互斥锁,也可以是相同的互斥锁。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。