«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.

7
Boost :: thread and boost :: mutex'i c ++ 11 eşdeğeriyle değiştirmek akıllı mı?
Motivasyon: Düşünme sebebim dehası proje müdürümün desteğin başka bir bağımlılık olduğunu ve korkunç olduğunu düşünüyor çünkü "buna güveniyorsun" (Desteğin kalitesini açıklamaya çalıştım, sonra bir süre sonra vazgeçtim :( Bunu yapmak istememin daha küçük bir nedeni, insanların içinde kod yazmaya başlayacağı için c ++ 11 özelliklerini öğrenmek istememdir. #include<thread> #include<mutex>Ve boost …

6
Main () çıktığında ayrı bir iş parçacığına ne olur?
Bir std::threadve daha sonra başlattığımı varsayalım detach(), böylece bir std::threadkez temsil ettiğinde, kapsam dışına çıksa bile, iş parçacığı yürütmeye devam eder. Ayrıca, programın ayrılmış iplik 1'e katılmak için güvenilir bir protokole sahip olmadığını varsayalım , böylece ayrılmış iplik halamain() çıkarken . Ne olması gerektiğini açıklayan standartta (daha kesin olarak, N3797 …

13
Num ++ 'int num' için atomik olabilir mi?
Genel olarak int num, num++(veya ++num) için, bir okuma-değiştirme-yazma işlemi olarak, atomik değildir . Ancak sık sık derleyiciler, örneğin GCC , bunun için aşağıdaki kodu oluşturmak görüyorum ( burada deneyin ): 5. sıraya tekabül eden num++bir talimat olduğundan, bu durumda num++ bunun atomik olduğu sonucuna varabilir miyiz ? Ve eğer …

9
En iyi yöntem: Yön değiştirme sırasında AsyncTask
AsyncTask başka bir iş parçacığında karmaşık görevleri çalıştırmak için harika bir şeydir. Ancak, çalışırken hala bir yönelim değişikliği veya başka bir yapılandırma değişikliği AsyncTaskolduğunda, akım Activityyok edilir ve yeniden başlatılır. Ve örneği AsyncTaskbu etkinliğe bağlandığından başarısız olur ve "kapatmaya zorla" ileti penceresine neden olur. Bu nedenle, bu hataları önlemek ve …

5
.NET Framework'te Eşzamanlı HashSet <T>?
Aşağıdaki sınıfa sahibim. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); } Alan "Veri" farklı iş parçacıklarını değiştirmek gerekir, bu yüzden geçerli iş parçacığı güvenli uygulama hakkında bazı görüşler istiyorum. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); public void Add(string Val){ lock(Data) Data.Add(Val); } public void Remove(string Val){ lock(Data) …

6
İçin enumerateObjectsUsingBlock vs. ne zaman kullanılır?
Bariz farklılıkların yanı sıra: enumerateObjectsUsingBlockHem dizine hem de nesneye ihtiyacınız olduğunda kullanın enumerateObjectsUsingBlockYerel değişkenleri değiştirmeniz gerektiğinde kullanmayın (Bu konuda yanılmışım, bumum'un cevabına bakın) Ne enumerateObjectsUsingBlockzaman for (id obj in myArray)işe yarayacağı genellikle daha iyi veya daha kötü olarak kabul edilir ? Avantajları / dezavantajları nelerdir (örneğin az çok performans mıdır)?




11
Gelecek Listesini Beklerken
Ben Listvadeli bir döndüren bir yöntem var List&lt;Future&lt;O&gt;&gt; futures = getFutures(); Şimdi, tüm vadeli işlemlerin başarıyla işlenmesini veya geleceği tarafından geri döndürülen görevlerin herhangi birini bir istisna atana kadar beklemek istiyorum. Bir görev bir istisna atsa bile, diğer gelecekleri beklemenin bir anlamı yoktur. Basit bir yaklaşım wait() { For(Future f …

5
Statik sınıf değişkenlerini değiştirmezlerse, senkronize edilmemiş statik yöntemler iş parçacığı güvenli midir?
Sana olan statik bir yöntemi varsa merak değil senkronize fakat yok değil statik değişkenlerini değiştirmek o evreli mı? Ya yöntem kendi içinde yerel değişkenler yaratırsa? Örneğin, aşağıdaki kod iş parçacığı için güvenli midir? public static String[] makeStringArray( String a, String b ){ return new String[]{ a, b }; } Dolayısıyla, …

26
Korumalı belleği okuma veya yazma girişimi. Bu genellikle diğer belleğin bozuk olduğunun bir göstergesidir
Birisi beni bu hata neden olabilir hakkında aydınlatabilir umuyoruz: Korumalı belleği okuma veya yazma girişimi. Bu genellikle diğer belleğin bozuk olduğunun bir göstergesidir. Gerçekten bu kodu uygulamanın herhangi bir rastgele atılmış gibi görünüyor çünkü kod gönderemiyorum. Uygulama, hata atmadan önce 12-48 saat arasında herhangi bir yerde çalışır. Bazen görünüşte rastgele …

3
Foreach (IEnumerable <T> .AsParallel ()) ile Paralel.
Erg, bu iki yöntemi BCL'de Reflector kullanarak bulmaya çalışıyorum, ama onları bulamıyorum. Bu iki parçacık arasındaki fark nedir? A: IEnumerable&lt;string&gt; items = ... Parallel.ForEach(items, item =&gt; { ... }); B: IEnumerable&lt;string&gt; items = ... foreach (var item in items.AsParallel()) { ... } Birini diğerinin üzerinde kullanmanın farklı sonuçları var mı? …

11
“Java DateFormat threadsafe değildir” bu ne anlama geliyor?
Herkes Java DateFormat'ın iş parçacığı için güvenli olmadığı konusunda uyarıyor ve ben teorik olarak konsepti anlıyorum. Ancak bu nedenle karşılaşabileceğimiz gerçek sorunları görselleştiremiyorum. Diyelim ki, bir sınıfta bir DateFormat alanı var ve aynı, çok iş parçacıklı bir ortamda sınıftaki farklı tarihlerde (biçimlendirme) kullanılır. Bu neden olur: biçim istisnası gibi herhangi …


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.