本着instance_exec
with blocks 的精神,有没有办法为线程做类似的事情?代替:
def context_thread_for(object, *args, &block)
Thread.new do
object.instance_exec(*args, &block)
end
end
context_thread_for(custom_dsl_object) { dsl_method }
有没有办法在不包装的情况下将上下文直接传递给线程?
因为我在某处阅读而尝试对不同的方法进行基准测试instance_exec
很慢,但我不知道该怎么做。也许有一个binding
?
编辑
丹尼斯,我想用它来做这个:https ://github.com/aj0strow/async_enum#preventing-race-conditions