我有一個實現Runnable
接口的類。實現無線程Runnable的Java類
現在我想根據布爾值在我的程序中啓動該類,可以是多線程的,也可以是非多線程的(順序的)。
我該怎麼做呢?這是我當前的代碼:
Constructor<?> constructor = processorClass.getConstructor(constructorParameterTypes);
Processor<T> process = (Processor<T>)constructor.newInstance(constructorParameters);
RunnableProcessor<T> runnableProcessor = new RunnableProcessor<>(process, object);
if (multiThreaded) {
new Thread(runnableProcessor).start();
}
else {
//what to do here?
}
所以澄清:我想從runnableProcessor
調用run()
方法,而無需創建一個線程。但我認爲直接調用run()
已被棄用,因此在那裏尋找更好的解決方案。
問候。
你是什麼意思的多線程?你col開始新的線程,但在第一個選項async ascond同步。 –
我建議不要對新項目使用原始線程。我建議使用ExecutorService API。它將負責爲你管理線程的生命週期+它有許多實現可以爲你提供緩存和共享線程。在你的代碼中,你會使用'executor.execute(someRunnable);'這樣的東西 – Multithreader