私はマルチスレッドが初めてです。
現在、パラメーターをスレッドに渡す作業を行っています。
public class MyRunnable<T> implements Runnable{
protected T obj;
public MyRunnable(){
obj= null;
}
@Override
public void run(){
//do something
}
public void setObj(T obj){
this.obj=obj;
}
public T getObj(){
return obj;
}
}
そして、指定したタスクで MyRunnable obj を初期化しようとしています
public void run 内で、このように。
someMethod(new MyRunnable<someType>(){
public void run(){
// do some jobs 1.
// do some jobs 2.
}
});
この runnable オブジェクトを異なる obj 値を持つ別のスレッドに使用したいのですが、同じ run メソッドでディープ コピーを作成することは可能ですか?
前もって感謝します!
編集: 元の MyRunnable().run() は何もせず、タスクは匿名ブロック内に実装されています。同じ実装された run() メソッドでコピーを作成するための回避策はありますか?