是否有一個java庫實現的行爲類似於ReadWriteLock
,但使用偵聽器或CompletableFuture/CompletionStage而不是阻塞?是否有一個讀監聽器的Java寫鎖?
理想我想這樣寫:
lock = ...
CompletionStage stage = lock.lockRead();
stage.thenAccept(r -> { doSomething(); r.release(); });
而且也很重要:
CompletionStage stage = lock.tryLockWrite(10, TimeUnit.SECONDS);
stage.handle(callback);
我希望知道,如果這樣的事情存在,如果它確實如何它叫做。
我不想自己實現這個,而是使用庫來簡化一些框架代碼。
這是'java-8' with lambdas,對吧? – Andremoniy 2015-04-05 15:59:12
沒錯,但我沒有要求lambda表達式,但是CompletionStage只適用於java-8 – 2015-04-05 16:05:55
這個語義是什麼ReadWriteLock和CompletableFuture是什麼?一個CompletableFutures處理程序被另一個線程在未來的某個特定時間調用。你的意思是擴展讀鎖直到那隻手ler在另一個線程中完成,重新獲取完成的鎖,或者在完成期間沒有鎖? – meriton 2015-04-05 19:58:48