Java是一種廣泛使用的面向對象編程語言,其支持多線程和異步編程。多線程是指在一個執行單元中同時執行多個線程的方法。在Java中,可以通過創建Thread類的實例來實現多線程。
public class MyThread extends Thread {
public void run() {
System.out.println("MyThread is running.");
}
public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.start();
}
}
這里創建了一個繼承自Thread類的自定義線程類MyThread,其中run()方法是該線程的執行主體。在main()方法中創建了MyThread實例并調用start()方法,該方法將啟動線程并調用run()方法。
異步編程是指程序不必等待某個任務完成,而是可以繼續執行其他任務。在Java中,可以通過使用回調函數和Future模式來實現異步編程。
public class AsyncExample {
public static void main(String[] args) throws InterruptedException, ExecutionException {
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future<String> future = executorService.submit(new Callable<String>() {
public String call() throws Exception {
Thread.sleep(3000);
return "Async task completed.";
}
});
System.out.println("Main task is running.");
String result = future.get();
System.out.println(result);
executorService.shutdown();
}
}
這里創建了一個異步執行任務的例子。通過創建一個ExecutorService實例,使用submit()方法提交一個Callable任務并得到一個Future對象。在主線程中繼續執行其他任務。當任務完成后,通過調用get()方法獲取返回值。ExecutorService在不再需要時需要關閉。