多线程环境下的ruby原子操作

多线程环境下的ruby原子操作,ruby,multithreading,arrays,Ruby,Multithreading,Arrays,阵列的推送和弹出操作是原子的吗? 我能安全地跑吗 i = array.pop ... array.push(i) 在GIL threaded env?中,您可以查看c代码(array.c) 如果它调用任何ruby方法调用(rb_funcall),那么我认为它不是线程安全的。否则它应该是 你可以很容易地覆盖pop等人,让他们有自己的同步

阵列的推送和弹出操作是原子的吗? 我能安全地跑吗

i = array.pop
...
array.push(i)

在GIL threaded env?

中,您可以查看c代码(array.c) 如果它调用任何ruby方法调用(rb_funcall),那么我认为它不是线程安全的。否则它应该是

你可以很容易地覆盖pop等人,让他们有自己的同步