java濡備綍瀹炵幇骞跺彂
Java鍙互閫氳繃澶氱嚎绋嬫潵瀹炵幇骞跺彂銆備互涓嬫槸涓€浜涘父瑙佺殑瀹炵幇骞跺彂鐨勬柟娉曪細
- 浣跨敤Thread绫伙細鍒涘缓涓€涓户鎵胯嚜Thread绫荤殑瀛愮被锛岄噸鍐檙un()鏂规硶鏉ュ畾涔夌嚎绋嬬殑鎵ц閫昏緫銆傜劧鍚庡垱寤哄涓嚎绋嬪疄渚嬪苟璋冪敤start()鏂规硶鍚姩绾跨▼銆?/li>
class MyThread extends Thread {
public void run() {
// 绾跨▼鎵ц閫昏緫
}
}
public class Main {
public static void main(String[] args) {
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.start();
}
}
- 浣跨敤Runnable鎺ュ彛锛氬垱寤轰竴涓疄鐜颁簡Runnable鎺ュ彛鐨勭被锛岄噸鍐檙un()鏂规硶鏉ュ畾涔夌嚎绋嬬殑鎵ц閫昏緫銆傜劧鍚庡垱寤哄涓猂unnable瀹炰緥锛屽苟灏嗗畠浠綔涓哄弬鏁颁紶閫掔粰Thread绫荤殑鏋勯€犲嚱鏁般€?/li>
class MyRunnable implements Runnable {
public void run() {
// 绾跨▼鎵ц閫昏緫
}
}
public class Main {
public static void main(String[] args) {
MyRunnable runnable1 = new MyRunnable();
MyRunnable runnable2 = new MyRunnable();
Thread thread1 = new Thread(runnable1);
Thread thread2 = new Thread(runnable2);
thread1.start();
thread2.start();
}
}
- 浣跨敤绾跨▼姹狅細閫氳繃Executor妗嗘灦鍒涘缓涓€涓嚎绋嬫睜锛屼娇鐢ㄧ嚎绋嬫睜鏉ョ鐞嗗拰鎵ц澶氫釜浠诲姟銆傜嚎绋嬫睜鍙噸鐢ㄧ嚎绋嬶紝鎻愰珮鏁堢巼銆?/li>
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.execute(new Runnable() {
public void run() {
// 浠诲姟1鎵ц閫昏緫
}
});
executor.execute(new Runnable() {
public void run() {
// 浠诲姟2鎵ц閫昏緫
}
});
executor.shutdown();
}
}
浠ヤ笂鏄笁绉嶅父瑙佺殑瀹炵幇骞跺彂鐨勬柟娉曪紝鏍规嵁鍏蜂綋鐨勯渶姹傚拰鍦烘櫙閫夋嫨鏈€閫傚悎鐨勬柟寮忋€傝繕鏈夊叾浠栨洿楂樼骇鐨勫苟鍙戞帶鍒跺伐鍏峰拰鎶€鏈紝渚嬪閿併€佹潯浠跺彉閲忋€佷俊鍙烽噺绛夛紝鍙互鏍规嵁闇€瑕佽繘涓€姝ュ涔犲拰浣跨敤銆?/p>