Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是Python';s file.write原子?_Python_Multithreading_Concurrency_Locking - Fatal编程技术网

是Python';s file.write原子?

是Python';s file.write原子?,python,multithreading,concurrency,locking,Python,Multithreading,Concurrency,Locking,是Python还是C中的file.write操作原子的 例子 考虑以下两个线程 线程1 线程2 我们是否保证不会出现如下混杂的文本 1a2b3c4d5e6f or 123abc456def 而是从两种可能的正确结果中选择一种 123456abcdef abcdef123456 请注意,每个线程中只有一个写入调用,显然,原子多次写入需要某种类型的锁。我也知道基于文件的锁。这个问题的理想答案是“是/否”以及证据/文档。看起来底层OS write()调用甚至可能不是原子的: 1a2b3c4d5

是Python还是C中的
file.write
操作原子的

例子 考虑以下两个线程

线程1 线程2 我们是否保证不会出现如下混杂的文本

1a2b3c4d5e6f
or 
123abc456def
而是从两种可能的正确结果中选择一种

123456abcdef
abcdef123456

请注意,每个线程中只有一个写入调用,显然,原子多次写入需要某种类型的锁。我也知道基于文件的锁。这个问题的理想答案是“是/否”以及证据/文档。

看起来底层OS write()调用甚至可能不是原子的:

1a2b3c4d5e6f
or 
123abc456def
123456abcdef
abcdef123456