SWTでのThread時のパフォーマンスアップ
ようやく少しわかってきた。
とにかく、asyncやsyncの中身は最小にすること。
間違っても、asyncやsyncで、guiに関係ない処理を呼ばない。
わけるべき。でないとメインのGUI操作に戻れません。
最近は以下のような手を抜いてsyncをしています。
public class MethodCommand implements Runnable {
private Object object;
/**
* @param self
* @param string
* @param object2
*/
public MethodCommand(Object object, String method, Object args) {
this.object = object;
this.methodName = method;
this.args = args;
}
public Object getArgs() {
return args;
}
public void setArgs(Object args) {
this.args = args;
}
public String getMethodName() {
return methodName;
}
public void setMethodName(String methodName) {
this.methodName = methodName;
}
public Object getObject() {
return object;
}
public void setObject(Object object) {
this.object = object;
}
private String methodName;
private Object args;
public void run() {
try {
MethodUtils.invokeMethod(object, methodName, args);
// System.out.println("call stop");
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}