«semaphore» 태그된 질문

세마포어는 사용 가능한 제한된 수의 리소스 수를 추적하는 동기화 기본 요소입니다.






8
Java에 Mutex가 있습니까?
Java에 Mutex 객체가 있습니까? 아니면 하나를 만드는 방법이 있습니까? 1 허가로 초기화 된 Semaphore 개체가 도움이되지 않기 때문에 묻고 있습니다. 이 경우를 생각해보십시오. try { semaphore.acquire(); //do stuff semaphore.release(); } catch (Exception e) { semaphore.release(); } 첫 번째 획득에서 예외가 발생하면 catch 블록의 해제로 인해 허용이 증가하고 세마포어는 더 이상 …



5
Semaphore와 SemaphoreSlim 중에서 어떻게 선택합니까?
그들의 공용 인터페이스는 비슷하게 보입니다. 문서 SemaphoreSlim 경량 대안 및 Windows 커널 세마포어를 사용하지 않는 상태. 이 리소스 는 SemaphoreSlim이 훨씬 빠르다는 것을 나타냅니다. 어떤 상황에서 SemaphoreSlim이 Semaphore보다 더 합리적이고 그 반대의 경우도 마찬가지입니까?

6
CountDownLatch 대 세마포
사용의 이점이 있습니까? java.util.concurrent.CountdownLatch 대신에 java.util.concurrent.Semaphore ? 내가 말할 수있는 한 다음 조각은 거의 동일합니다. 1. 세마포어 final Semaphore sem = new Semaphore(0); for (int i = 0; i < num_threads; ++ i) { Thread t = new Thread() { public void run() { try { doStuff(); } finally { …

7
세마포어-초기 카운트의 사용은 무엇입니까?
http://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx 세마포어를 만들려면 초기 개수와 최대 개수를 제공해야합니다. MSDN에 따르면 초기 횟수는 다음과 같습니다. 동시에 부여 할 수있는 세마포에 대한 초기 요청 수입니다. 최대 개수는 동시에 부여 할 수있는 세마포에 대한 최대 요청 수입니다. 최대 개수는 리소스에 동시에 액세스 할 수있는 스레드의 최대 개수라는 ​​것을 알 수 있습니다. 그러나 초기 …

3
SemaphoreSlim의 사용법을 이해해야합니다.
여기에 제가 가지고있는 코드가 있지만 무엇을하는지 이해가되지 않습니다 SemaphoreSlim. async Task WorkerMainAsync() { SemaphoreSlim ss = new SemaphoreSlim(10); List<Task> trackedTasks = new List<Task>(); while (DoMore()) { await ss.WaitAsync(); trackedTasks.Add(Task.Run(() => { DoPollingThenWorkAsync(); ss.Release(); })); } await Task.WhenAll(trackedTasks); } void DoPollingThenWorkAsync() { var msg = Poll(); if (msg != null) { …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.