如何在Lua中使print或write函数成为原子?

use*_*494 2 lua

我使用以下代码同时使用多个内核写入文件或stdout:

f:write(x, "\t", y, "\n")
print(x, '\t', y, '\n')
Run Code Online (Sandbox Code Playgroud)

如何在没有比赛的情况下将这些陈述原子化?

更新:似乎我的问题引起了混乱.因此,我会问更具体的问题:如果我在不同的处理器上运行上面的代码但是将输出管道传输到同一个文件中,我怎样才能确保不同处理器的输出按预期保持在不同的行中?

Yu *_*Hao 5

Lua本身不支持真正的多线程.所以赛车没有这样的问题.

请注意,这意味着在您的代码中f:writeprint不会同时执行,即使在多核处理器中也是如此.