在 C/C++ 中,当我们创建一个线程时,有一种机制可以将一些参数传递给线程执行体。在java中,我们可以子类化Thread
该类以允许线程类包含一些实例变量。在 Ruby 中,创建线程的方法是:
thread = Thread.new {
... code thread execution body
}
之后Thread.new
,线程立即开始运行。我见过的所有代码都在线程主体中使用全局变量。假设我们需要一个互斥锁,代码是:
mutex = Mutex.new
thread = Thread.new {
... code thread execution body
mutex.synchronized {
... some code
}
}
是否可以创建一个子类Thread
并允许它具有一些实例变量?我无法弄清楚的技术问题是如何将代码块传递给子类以及子类如何将代码块传递给超Thread
类。