1. 程式人生 > >多執行緒訪問共享物件和資料

多執行緒訪問共享物件和資料

1、如果每個執行緒執行的程式碼相同,可以使用同一個runnable物件,這個runnable物件中有那個共享資料。例如賣票系統。 2、如果每個執行緒執行的程式碼不同,這時候需要用不同的runnable物件,有如下兩種方式來實現這些runnable物件之間的資料共享。

  • 將共享資料封裝在另外一個物件中,然後將這個物件逐一傳遞給各個runnable,每個執行緒對共享資料的操作方法也分配到那個物件中去完成,這樣容易實現針對該資料進行的各個操作的互斥與通訊。
  • 將這些runnable物件作為某一個類中的內部類,共享資料作為這個外部類的成員變數,每個執行緒對共享資料的操作方法也封裝到這個外部類中,以便實現對共享資料進行的各個操作的互斥與通訊。作為內部類的各個runnable物件呼叫外部類的這些方法。