Java是一種面向?qū)ο蟮挠嬎銠C編程語言,它不僅可以運行程序,還可以開啟進程和線程來執(zhí)行程序。
進程是操作系統(tǒng)中的一種程序執(zhí)行方式,一個進程可以包含多個線程。Java中可以通過Process類來啟動進程,下面是一個簡單的例子:
public class ProcessExample { public static void main(String[] args) throws Exception { // 啟動記事本程序 ProcessBuilder pb = new ProcessBuilder("notepad.exe"); Process p = pb.start(); // 等待記事本程序執(zhí)行完畢 int exitValue = p.waitFor(); System.out.println("記事本程序執(zhí)行完畢,退出碼:" + exitValue); } }
上述代碼創(chuàng)建了一個ProcessBuilder對象,并通過start()方法啟動了一個記事本程序進程。程序會一直等待這個進程執(zhí)行完畢,并打印出進程的退出碼。
線程是程序中一個獨立的執(zhí)行路徑,多個線程可以同時執(zhí)行不同的任務。Java中可以通過繼承Thread類或?qū)崿F(xiàn)Runnable接口來創(chuàng)建線程,下面是一個繼承Thread類創(chuàng)建線程的例子:
public class ThreadExample extends Thread { public void run() { System.out.println("線程開始執(zhí)行:" + Thread.currentThread().getName()); try { Thread.sleep(5000); } catch (InterruptedException e) {} System.out.println("線程執(zhí)行完畢:" + Thread.currentThread().getName()); } public static void main(String[] args) { for (int i = 0; i< 3; i++) { ThreadExample t = new ThreadExample(); t.setName("線程" + i); t.start(); } } }
上述代碼繼承了Thread類,并重寫了run()方法來定義線程執(zhí)行的內(nèi)容。在main()方法中創(chuàng)建了3個線程對象,并通過start()方法啟動線程。每個線程會先打印自己的名稱,然后休眠5秒鐘,最后打印自己的名稱表示執(zhí)行完畢。
以上就是簡單介紹Java進程和線程的例子。