原创 內置鎖和顯式鎖的區別(java併發編程第13章)

任何java對象都可以用作同步的鎖, 爲了便於區分, 將其稱爲內置鎖. JDK5.0引入了顯式鎖: Lock及其子類(如ReentrantLock, ReadWriteLock等).  內置鎖和顯式鎖的區別有:   1. 可中斷

原创 柵欄(java併發編程實戰5.5.4)

柵欄類似於閉鎖,它能阻塞一組線程直到某個事件發生。柵欄與閉鎖的關鍵區別在於,所有線程必須同時到達柵欄位置, 才能繼續執行。閉鎖用於等待事件,而柵欄用於等待其他線程,且能夠重複執行。 import java.util.concurrent.

原创 處理不可中斷的阻塞(java併發編程第7章)

並不是所有的阻塞都是可中斷的, 比如InputStream.read方法. 在檢測到輸入數據可用, 到達流末尾或者拋出異常前, 該方法一直阻塞. 而且阻塞的時候不會檢查中斷標記, 所以中斷線程無法使read從阻塞狀態返回. 但是關閉流可

原创 配置ThreadPoolExecutor(java併發編程第8章)

Executors的靜態方法newCachedThreadPool, newFixedThreadPool, newScheduledThreadPool所返回的線程池都是ThreadPoolExecutor對象或者其子類對象. Thr

原创 nginx+keepalive實現高可用負載均衡

一:實驗環境 主nginx負載均衡器:10.192.203.201  (通過keepalived配置了VIP:10.192.203.106供外使用) 副nginx負載均衡器:10.192.203.102(通過keepalived配置了VI

原创 使用CompletionService批處理任務(java併發編程第6章)

如果你向Executor提交了一個批處理任務,並且希望在它們完成後獲得結果。爲此你可以保存與每個任務相關聯的Future,然後不斷地調用timeout爲零的get,來檢驗Future是否完成。這樣做固然可以,但卻相當乏味。幸運的是,還有一

原创 java線程池介紹(java併發編程實戰第6章)

爲什麼需要使用線程池? one-thread-per-request可能帶來的問題: 1. 線程的創建和銷燬會佔用一定的資源. 如果請求頻繁而對請求的處理是輕量級的(大多的web請求符合該情形), 創建一個線程處理請求後將其銷燬的方式

原创 Java正確處理InterruptedException的方法(java併發編程第7章)

要想討論正確處理InterrupedtException的方法,就要知道InterruptedException是什麼。根據Java Doc的定義Thrown when a thread is waiting, sleeping, or

原创 設計高效的線程安全的緩存(java併發編程實戰5.6)

幾乎每一個應用都會使用到緩存, 但是設計高效的線程安全的緩存並不簡單. 如: Java代碼   public interface Computable<A, V> {        V compute(A arg) throws

原创 中斷線程(java併發編程第7章)

啓動線程之後, 大多數時候我們等待線程運行完成後自動結束. 但是有時我們希望可以提前終止線程的運行: 1. 用戶申請取消時. 比如用戶點擊了取消按鈕. 2. 時間限制的任務. 有些任務具有時間限制, 如果在一定的時間內仍然沒有得到想

原创 一個線程通信問題(sub運行10次,然後main運行100次,這樣交替循環50次)

/**   * sub運行10次,然後main運行100次,這樣交替循環50次   * @author Administrator   *   */   public class TraditionalThreadCommunicat

原创 mysql全量同步到postgresql中

1 rds_dbsync (推薦使用) 《MySQL準實時同步到PostgreSQL, Greenplum的方案之一 - rds_dbsync》 這個效率最高,支持不落地,支持流式導入,支持單表併發(通過配置文件,寫WHERE條件,拆成多

原创 信號量(java併發編程實戰5.5.4)

用途:用來控制同時訪問某個特定資源的操作數量,或者同時執行某個指定操作的數量。計數信號量可以用來實現某種資源池,或者對容器施加邊界。   public class SemaphoreTest<T> { private final S

原创 MySQL準實時同步到PostgreSQL, Greenplum的方案之一 - rds_dbsync

原文鏈接:https://www.sypopo.com/post/NKozYBKA5Z/ 背景 rds_dbsync是阿里雲數據庫內核組開源的一個數據實時同步工具。 可以解析MySQL的binl

原创 強監管下 協議支付會是互金平臺救命稻草?(協議支付是代扣協議的升級版)

近期,第三方支付的快捷支付、代扣代付渠道驟然收緊,導致多個行業不同程度受到影響,互金受到的衝擊最爲直接明顯。 尤其是消費金融和P2P網貸行業,因爲對監管尺度的負面預期,情緒上的恐慌大於對業務的實際影響。 第三方支付再出重磅文件 銀行直連“