谁能建议我如何向线程传递一个参数?
另外,对于匿名类,它是如何工作的?
通过Runnable或Thread类的构造函数
class MyThread extends Thread { private String to; public MyThread(String to) { this.to = to; } @Override public void run() { System.out.println("hello " + to); } } public static void main(String[] args) { new MyThread("world!").start(); }
要么写一个实现Runnable的类,并在适当定义的构造函数中传递你所需要的东西,要么写一个扩展Thread的类,并有一个适当定义的构造函数,用适当的参数调用super()。
你可以从Runnable派生出一个类,并在构造过程中(比如)把参数传进去。
然后用Thread.start(Runnable r)来启动它。
如果你指的是在线程运行时,那么只需在调用线程中持有一个派生对象的引用,并调用适当的setter方法(在适当的地方进行同步)
通过Runnable或Thread类的构造函数
要么写一个实现Runnable的类,并在适当定义的构造函数中传递你所需要的东西,要么写一个扩展Thread的类,并有一个适当定义的构造函数,用适当的参数调用super()。
你可以从Runnable派生出一个类,并在构造过程中(比如)把参数传进去。
然后用Thread.start(Runnable r)来启动它。
如果你指的是在线程运行时,那么只需在调用线程中持有一个派生对象的引用,并调用适当的setter方法(在适当的地方进行同步)