[英]Are there any operations/methods in Ruby that are guaranteed/documented to be atomic?
[英]ruby atomic operations in multithreaded environment
數組的推和彈出操作是原子的嗎? 我可以安全地跑步嗎
i = array.pop
...
array.push(i)
在GIL線程環境中?
您可以查看c代碼(array.c),如果它調用了任何ruby方法調用(rb_funcall),那么我認為它不是線程安全的。 否則應該是...
您可以輕松地覆蓋#pop等,並使它們具有自己的同步。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.