আমি ইদানীং গো-এর গোরোটাইনগুলিতে দেখছি এবং ভেবেছিলাম জাভাতেও এরকম কিছু পাওয়া ভাল লাগবে। যতদূর আমি একটি পদ্ধতি কলকে সমান্তরাল করার সাধারণ উপায়টি অনুসন্ধান করেছি এরকম কিছু করা:
final String x = "somethingelse";
new Thread(new Runnable() {
public void run() {
x.matches("something");
}
}).start();
এটি খুব মার্জিত নয়। এটি করার আরও ভাল উপায় আছে?একটি প্রকল্পে আমার এই জাতীয় সমাধানের প্রয়োজন ছিল তাই আমি সিদ্ধান্ত নিয়েছি যে আমার নিজের র্যাপার ক্লাসটি একটি অ্যাসিঙ্ক পদ্ধতির কলকে ঘিরে বাস্তবায়ন করব।
আমি জে- গোতে আমার মোড়ক ক্লাস প্রকাশ করেছি । তবে আমি জানি না এটি ভাল সমাধান কিনা। ব্যবহার সহজ:
SampleClass obj = ...
FutureResult<Integer> res = ...
Go go = new Go(obj);
go.callLater(res, "intReturningMethod", 10); //10 is a Integer method parameter
//... Do something else
//...
System.out.println("Result: "+res.get()); //Blocks until intReturningMethod returns
বা কম ভার্বোস:
Go.with(obj).callLater("myRandomMethod");
//... Go away
if (Go.lastResult().isReady()) //Blocks until myRandomMethod has ended
System.out.println("Method is finished!");
অভ্যন্তরীণভাবে আমি এমন একটি ক্লাস ব্যবহার করছি যা রান্নেবলকে কার্যকর করে এবং সঠিক পদ্ধতি অবজেক্টটি পেতে এবং এটিতে অনুরোধ করার জন্য কিছু প্রতিবিম্ব কাজ করে।
আমি আমার ক্ষুদ্র গ্রন্থাগার সম্পর্কে এবং জাভাতে এ্যাসিঙ্ক পদ্ধতি কল করার বিষয়ে কিছু মতামত চাই। এটি নিরাপদ? ইতিমধ্যে একটি সহজ উপায় আছে?