«multithreading» etiketlenmiş sorular

Çoklu iş parçacığı, bir bilgisayarın veya programın birden çok eşzamanlı yürütme akışını (genellikle iş parçacıkları olarak adlandırılır) kullanarak eşzamanlı veya eşzamansız olarak çalışma yeteneğidir.

6
CountDownLatch ve Semafor
Kullanmanın herhangi bir avantajı var mı java.util.concurrent.CountdownLatch onun yerine java.util.concurrent.Semaphore ? Anlayabildiğim kadarıyla aşağıdaki parçalar neredeyse eşdeğer: 1. Semafor final Semaphore sem = new Semaphore(0); for (int i = 0; i < num_threads; ++ i) { Thread t = new Thread() { public void run() { try { doStuff(); } …

3
SemaphoreSlim'in kullanımını anlamanız gerekiyor
İşte sahip olduğum kod ama ne SemaphoreSlimyaptığını anlamıyorum . 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) { …


6
Python'da çoklu işlem kuyruğu nasıl kullanılır?
Çoklu işlem kuyruğunun python üzerinde nasıl çalıştığını ve nasıl uygulanacağını anlamaya çalışırken çok sorun yaşıyorum. Verilere paylaşılan bir dosyadan erişen iki python modülüm olduğunu varsayalım, bu iki modüle bir yazıcı ve bir okuyucu diyelim. Planım, hem okuyucunun hem de yazıcının istekleri iki ayrı çoklu işlem kuyruğuna koyması ve ardından üçüncü …

6
Aktif bir istisna olmadan çağrılan C ++ sonlandırması
Diş açarken bir C ++ hatası alıyorum: terminate called without an active exception Aborted İşte kod: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &operator<<(TYPE &other) { std::unique_lock<std::mutex> mtx_lock(mtx); while(buffer.size()>=max_buffer_size) stop_if_full.wait(mtx_lock); buffer.push(std::move(other)); …



4
Genel olarak yeniden giriş kilidi ve kavramı nedir?
Kafam hep karışır. Birisi Reentrant'ın farklı bağlamlarda ne anlama geldiğini açıklayabilir mi ? Ve neden evresel ve evresel olmayan kullanmak isteyesiniz? Pthread (posix) kilitleme ilkelleri deyin, bunlar yeniden giren mi değil mi? Bunları kullanırken hangi tuzaklardan kaçınılmalıdır? Mutex yeniden mi giriyor?

3
Hiç bitmeyen bir görevi yerine getirmenin doğru yolu. (Zamanlayıcılar - Görev)
Bu nedenle, uygulamamın, uygulama çalıştığı veya iptal istendiği sürece neredeyse sürekli olarak (her çalıştırma arasında 10 saniyelik bir duraklama ile) bir eylem gerçekleştirmesi gerekiyor. Yapması gereken iş 30 saniyeye kadar sürebilmektedir. Bir System.Timers.Timer kullanmak ve önceki "onay" tamamlanmadan eylemi gerçekleştirmediğinden emin olmak için AutoReset kullanmak daha mı iyi? Veya LongRunning …

3
Ruby'de neyin güvenli OLMADIĞINI nasıl bilebilirim?
Rails 4'ten başlayarak , her şeyin varsayılan olarak iş parçacıklı ortamda çalışması gerekir. Bunun anlamı, yazdığımız kodun tamamı VE kullandığımız TÜM mücevherlerinthreadsafe bu yüzden bununla ilgili birkaç sorum var: yakut / raylarda güvenli olmayan nedir? Vs Ruby / raylarda güvenli olan nedir? İş parçacığı açısından güvenli veya tersi olduğu bilinen …



28
Basit Kilitlenme Örnekleri
Yeni başlayanlara iş parçacığı kilitlenmelerini açıklamak istiyorum. Geçmişte, bazıları kod kullanan ve bazıları resim kullanan (ünlü 4 araba gibi ) birçok kilitlenme örneği gördüm . The Dining Philosophers gibi kolayca çıkmaza giren klasik sorunlar da vardır , ancak bunlar gerçek bir aceminin tam olarak kavrayamayacağı kadar karmaşık olabilir. Kilitlenmelerin ne …

7
MemoryCache İş Parçacığı Güvenliği, Kilitlemek Gerekli mi?
Yeni başlayanlar için, aşağıdaki kodun iş parçacığı için güvenli olmadığını bildiğimi oraya atmama izin verin (düzeltme: olabilir). Mücadele ettiğim şey, gerçekten test altında başarısız olabileceğim bir uygulama bulmak. Şu anda bazı (çoğunlukla) statik verilerin önbelleğe alınması ve bir SQL veritabanından doldurulması gereken büyük bir WCF projesini yeniden oluşturuyorum. Günde en …

9
SimpleDateFormat'a erişimi eşitleme
SimpleDateFormat için javadoc, SimpleDateFormat'ın senkronize edilmediğini belirtir. "Tarih biçimleri senkronize edilmez. Her iş parçacığı için ayrı biçim örnekleri oluşturulması önerilir. Birden çok iş parçacığı bir biçime aynı anda erişirse, dışarıdan eşitlenmelidir." Ancak, çok iş parçacıklı bir ortamda SimpleDateFormat örneğini kullanmak için en iyi yaklaşım nedir? İşte düşündüğüm birkaç seçenek, geçmişte …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.