|
1
6
不过,我确实注意到一些问题。
第二,你的
第三,以上这些都不是应用程序活跃性的终点,因为您使用了有界等待,但是如果您进行上述两个更改,您的应用程序将具有更好的线程性能(
|
|
|
2
8
每次你访问
只要你能进入
|
|
|
3
3
你的代码实际上是线程安全的。这背后的原因有两部分。 首先是互斥。正确的同步可以确保一次只有一个线程修改集合。
第二个问题与编译器重新排序有关。您担心编译实际上会重新排序赋值,这样它就不会是线程安全的。在这种情况下你不用担心。在列表上同步将创建“发生在”关系。所有从列表中删除的操作都发生在写入之前
|
|
|
4
1
您的代码是线程安全的,但不是并发的(如并行的)。由于所有内容都是在一个互斥锁下访问的,因此您正在序列化所有访问,实际上对结构的访问是单线程的。
如果您需要生产代码中描述的功能,则
|
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
H3007 · 并发运行python子进程似乎不是并发的 2 年前 |
|
|
The Oddler · TVar会阻止读取直到更改吗? 2 年前 |
|
|
Wang Tuma · 使用信号量的c++并发问题:按顺序打印 2 年前 |
|
|
Marcel Batista · 在不同线程中更新密钥时的字典线程安全 2 年前 |
|
|
rico · 当volatile关键字真的是必要的? 2 年前 |