-3
.NET Frameworkでは、System.Threading.Semaphore
はIDisposable
であり、手動でdispose
が必要です。ただし、JavaSEでは、java.util.concurrent.Semaphore
はCloseable
でなく、AutoCloseable
でもありません。なぜC#のSystem.Threading.SemaphoreはIDisposableを実装していますが、なぜjava.util.concurrent.SemaphoreはCloseableを実装していませんか?
なぜ異なるAPI設計を選択するのですか?どちらがいいですか?
Javaのセマフォは閉じることができないため、閉じることはできません。しかし、.NETでどのように動作するのか不思議です。 – shmosel
APIデザインに関するもので、https://programmers.stackexchange.com/questions/333748にコピーされているため、この質問を議論の対象外としています –