多執行緒併發

2021-09-26 23:57:30 字數 713 閱讀 1286

多執行緒併發主要有3個方面:

1、同步器

主要有synchronized,reentrantlock(),訊號量,門栓(countdownlatch),障柵(cyclicbarrier),交換器。

2、同步容器:

主要包括:對映、集、佇列

對映:concurrenthashmap,concurrentskiplistmap(有序,要求鍵實現comparable)

集:concurrentskiplistset(有序,要求鍵要實現comparable)

佇列:concurrentlinkedqueue(無界佇列),concurrentarrayqueue(有界佇列)

blockingqueue(阻塞佇列,執行緒池中大量使用)

3、執行緒池

excecuter 介面,有乙個sumbit方法,提交任務,並執行

excecutorservice,執行器服務,用於執行smbit

excecutors: 工具類,裡面有很多靜態方法。(參考集合的collections工具類) ,主要用具建立快取執行緒池(newcachedthreadpool)、單執行緒池(newsingletreadexcecutor)、固定數量的執行緒池(newfixedthreadpool)、定時執行執行緒池(newscheduledthreadpool)

threadpoolexecutor:執行緒池,將沒有來得及執行執行緒放在佇列中,空閒的執行緒從佇列中取得任務執行。

多執行緒併發

更簡單的執行緒池 多執行緒和多程序都可以很容易的實現併發,協程通過切換上下文來充分利用cpu實現併發效果 threading模組 thread類的基本狀態和行為 屬性名和值 name none,group none,target none,args kwargs daemon none 方法 sta...

(多執行緒)多執行緒的併發安全

多執行緒併發操作同乙個資源 同步鎖 多執行緒操作的鎖必須唯一 必須搞清楚 哪些 需要同步?那些在操作共享資源的 只要包含非讀的操作,或者根據共享資源進行條件判斷的,就需要同步!同步 塊解決 package com.gc.thread 多執行緒操作共享資源 併發 執行緒安全問題 同步 鎖 相對而言效能...

多執行緒 Java多執行緒與併發

實現的方式主要有三種 執行緒的狀態 基本差別 最主要的本質區別 兩個概念 鎖池 假設執行緒a已經擁有了某個物件 不是類 的鎖,而其他執行緒b c想要呼叫這個物件的某個synchronized方法 或者塊 由於b c執行緒在進入物件的synchronized方法 或者塊 之前必須先獲得該物件鎖的擁有權...