Java並行程式基礎

2021-08-02 02:21:04 字數 1601 閱讀 1912

程序是計算機中的程式關於某資料集合上的一次運動活動,是系統進行資源分配的基礎單位。程序是執行緒的容器。程式是指令、資料及其組織形式的描述,程序是程式的實體。

執行緒的所有狀態都在thread的state列舉中

public

enum state

};t1.start();

也可以使用runnable介面來實現相同操作。

public

class

aimplements

runnable

}#把runnable的例項作為引數傳入執行緒

thread t1 = new thread(new a());

t1.start();

廢棄的方法:stop()。

此方法太粗暴,會直接終止執行緒,並且立即釋放執行緒持有的鎖,破壞資料的一致性。

是乙個例項方法,他通知目標執行緒中斷,也就是設定中斷標誌位。中斷標誌位表示當前執行緒已經被中斷了。

public

void thread.interrupt() ;

也是例項方法,他判斷當前執行緒是否被中斷(通過檢查中斷標誌位)

public

boolean thread.isinterrupted();

是靜態方法,判斷當前執行緒的中斷狀態,但同時會清除當前執行緒的中斷標誌位狀態。

public

static

boolean thread.interrupted() ;

示例1:

public

class

interruptexample

thread.yield();}}

};t1.start();

try catch (interruptedexception e)

/*** 給目標執行緒傳送中斷通知

* 目標執行緒中必須有處理中斷通知的**

* 否則,就算傳送了通知,目標執行緒也無法停止.

*/t1.interrupt();}}

示例2:

public

class

interruptexample

try catch (interruptedexception e)

thread.yield();}}

};t1.start();

try catch (interruptedexception e)

/*** 給目標執行緒傳送中斷通知

* 目標執行緒中必須有處理中斷通知的**

* 否則,就算傳送了通知,目標執行緒也無法停止.

*/t1.interrupt();}}

thread.sleep()方法由於中斷而丟擲異常,此時,它會清除中斷標誌,如果不加處理,則捕獲不到這個中斷,故在異常處理中,再此設定中斷標誌。

Java 並行程式基礎

1.執行緒中斷 主要有三個方法 public void thread.interrupt 中斷執行緒 public boolean thread.isinterrupted 判斷是否非中斷 public static boolean thread.interrupted 判斷是否被中斷,並清除當前中...

併發程式與並行程式

併發程式是指可以被同時發起執行的程式 並行程式被設計成可以在並行的硬體上執行的併發程式。併發程式代表了所有可以實現並發行為的程式,它是乙個寬泛的概念,其中包含了並行程式。inter process communication 程序間通訊 go支援的ipc方法有管道 訊號和socket.程序 我們把乙...

並行程式 執行緒 二

和程序不同的是,程序中使用佇列用於程序間通訊 from multiprocessing import queue 執行緒中使用佇列 from queue import queue python3中 from queue import queue python2中 不過,程序和執行緒中關於queue的...