在Java中,有幾種常見的方式可以控制多線程的啟動與停止。
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// 線程執行的代碼
}
});
thread.start(); // 啟動線程
thread.interrupt(); // 停止線程
Runnable runnable = new Runnable() {
@Override
public void run() {
// 線程執行的代碼
}
};
Thread thread = new Thread(runnable);
thread.start(); // 啟動線程
thread.interrupt(); // 停止線程
volatile boolean isRunning = true; // 共享變量
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while (isRunning) {
// 線程執行的代碼
}
}
});
thread.start(); // 啟動線程
isRunning = false; // 停止線程
需要注意的是,以上方法都是通過協作的方式來控制線程的啟動與停止,即線程自己決定何時退出。另外,停止線程的方法不是強制終止線程,而是通過設置標志位或發送中斷信號的方式來請求線程停止。線程在合適的時機檢查這些條件,并主動退出循環,從而停止線程的執行。