考虑以下posix线程代码:
void *thr(void *arg)
{
static int i = 0;
return ++i;
}
Run Code Online (Sandbox Code Playgroud)
我认为这是原子安全的操作,因为它应该转换为汇编指令inc i以改变价值.但是,我不是cpu和多线程内部的伟大专家,因此我很怀疑.
编辑:因为它不安全所以说我使用互斥锁来使这个安全,然后在时间方面需要多少额外费用.编辑:我从pthread互斥量的开销得到我的回答时间成本.谢谢一堆.