【发布时间】:2009-01-30 20:43:57
【问题描述】:
我正在尝试实现一个像这样的简单类:
public static void main(String args[])
{
try
{
myClass test = new Thread(new myClass(stuff));
test.start();
test.join();
}
catch (Throwable t) { }
}
当我尝试在 myClass 中包含 print() 方法并使用它时,我在 java.lang.Thread 类中得到“找不到符号”。我真的不必把它变成一个线程,但我想,只是为了测试它。如果我想让我的 print() 方法工作,我是否必须更改它?
编辑:对不起,我刚刚意识到我可以在 run() 函数中调用 print(),哈哈。为什么我不能在外面打电话呢?这对我来说没有意义。如果我添加同步或其他东西,我可以在运行/类之外调用该函数吗?
EDIT2:对不起,我在这里写错了名字。
EDIT3:我目前正在这样做:
Thread test = new Thread(new myClass(stuff));
teste.start();
teste.join();
如果我使用 new Runner,我似乎无法使用 start() 和 join()。有办法解决吗?
EDIT4:好的,让我们再试一次: 我有 myEnvironment,它是一个类,我有 myAgent,它是另一个类。 myAgent 是线程。 myAgent 需要一个 myEnvironment,所以我将它作为参数传递给构造函数。但是,我无法通过扩展 Thread 来做到这一点,因为没有找到构造函数 (myEnvironment)。我必须通过另一个函数设置 myEnvironment 还是可以使用构造函数传递它?
【问题讨论】:
-
我稍微整理了一下你的例子。我可以原谅以小写字母开头的类名,但让我们确保至少可以编译!
标签: java multithreading