0
需要轉換同步方法就像下一:我如何同步方法轉換爲異步方法是在Java 1.4
method (String, String, Object)
到異步方法。
的主要問題是,我們與Java 1.4工作,我不能用執行人,未來,...
任何想法?
需要轉換同步方法就像下一:我如何同步方法轉換爲異步方法是在Java 1.4
method (String, String, Object)
到異步方法。
的主要問題是,我們與Java 1.4工作,我不能用執行人,未來,...
任何想法?
定義一個回調接口(如果還沒有可用的話),並讓你的方法把接口作爲參數。該方法將關閉並完成其工作,並在完成時調用回調。
實施例:
int synchronousMethod(int arg0, String arg1) {
int result = doStuff();
return result;
}
變得
void asynchronousMethod(int arg0, String arg1, Callback callback) {
try {
int result = doStuff();
} catch (Throwable t) {
callback.onFailure(t);
return;
}
callback.onSuccess(result);
}
其中Callback
是一樣的東西
interface Callback {
onSuccess(int result);
onFailure(Throwable t);
}
這是優選使用的通用類型的Callback
結果(GWT,例如,使用與我相同的通用AsyncCallback<ResultType>
但由於泛型在1.4中不可用,因此您可以使用Object
並轉換或使用不同的Callback
接口來獲得不同的回報。與Swing/AWT中的任何*Listener
接口進行比較。
能否再詳述一下,我是新來的線程主題,我輸了很多。 ,我想成爲異步代碼是這樣的: 爲(.....) ... ... methodIWantConvert(字符串,字符串,對象); ... ... End-for; 我想轉換的方法是一個非常正常的順序方法。太感謝了。 – Myolnir
瞭解。 我唯一的問題是,我的同步方法返回什麼,是無效的,可以做到以下幾點? public interface Callback void onSuccess(); void onFailure(Throwable t); } 公共無效asynchronousMethod(字符串模式,字符串別名,OwnBean ownBean,回撥回調) OwnException拋出{ 嘗試{ syncMethod(模式,別名ownBean); (例外e){ callback.onFailure(e); return; } callback.onSuccess(); } – Myolnir
對。如果它是'void',那麼你有一個空的'onSuccess'參數列表。 – chrylis