Pertanyaan yang diberi tag «semaphore»



14
Apa itu semaphore?
Semaphore adalah konsep pemrograman yang sering digunakan untuk menyelesaikan masalah multi-threading. Pertanyaan saya kepada komunitas: Apa itu semaphore dan bagaimana Anda menggunakannya?



8
Apakah ada Mutex di Jawa?
Apakah ada objek Mutex di java atau cara membuatnya? Saya bertanya karena objek Semaphore yang diinisialisasi dengan 1 izin tidak membantu saya. Pikirkan kasus ini: try { semaphore.acquire(); //do stuff semaphore.release(); } catch (Exception e) { semaphore.release(); } jika pengecualian terjadi pada perolehan pertama, rilis di blok catch akan meningkatkan …




6
CountDownLatch vs. Semaphore
Apakah ada keuntungan menggunakan java.util.concurrent.CountdownLatch dari pada java.util.concurrent.Semaphore ? Sejauh yang saya tahu, fragmen berikut hampir setara: 1. Semaphore final Semaphore sem = new Semaphore(0); for (int i = 0; i < num_threads; ++ i) { Thread t = new Thread() { public void run() { try { doStuff(); } …

7
Semaphore - Apa gunanya hitungan awal?
http://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx Untuk membuat semaphore, saya perlu memberikan hitungan awal dan hitungan maksimal. MSDN menyatakan bahwa hitungan awal adalah - Jumlah awal permintaan untuk semaphore yang dapat diberikan secara bersamaan. Sementara itu menyatakan bahwa jumlah maksimumnya adalah Jumlah maksimum permintaan untuk semaphore yang dapat diberikan secara bersamaan. Saya dapat memahami bahwa …

3
Perlu memahami penggunaan SemaphoreSlim
Ini kode yang saya miliki tetapi saya tidak mengerti apa SemaphoreSlimyang saya lakukan. 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 …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.