|
|
1
6
这是安全的,有三个原因:
尽管如此,如果你真的对此不确定,你可以使用
您也可以替换
|
|
|
2
3
在您的情况下(选中的属性),读取操作是原子操作,因此是安全的。这与tthread.terminated属性相同;正确对齐的字节、字和双字的简单读写操作是原子操作。你可以检查 intel documentation 更多信息: 第8章-多处理器管理 8.1.1保证的原子操作 Intel486处理器(以及此后更新的处理器)保证 基本内存操作将始终以原子方式执行:
奔腾处理器(以及此后更新的处理器)保证 额外的内存操作将始终以原子方式执行:
|
|
|
3
1
举个例子,它是安全的。从技术上讲,主要的问题是当变量超过机器字的大小时,可能会导致高位字和长字不同步。但对于小值而言,这不是问题。 如果您认为这是一个潜在的问题,例如使用指针,那么要使用的是一个tcriticalsection来控制对该项的读写。这对于所有实际情况都足够快,并确保您100%安全。 |
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 1 年前 |
|
|
András Takács · Python多线程错误 1 年前 |