SORU
16 Ocak 2012, PAZARTESİ


Çoklu c11 destek

Yeni C11 standart Çoklu-işlem için destek sağlar.
Sorularıma ama kesinlikle sorumlu bir bit çeşitlidir.
Bu C11 bir göz vardın1570taslak.
Diyor ki:

gelişmiş bellek bir sıralama da dahil olmak üzere birden çok iş parçacığı yürütme için destek modeli, atomik nesneleri ve iş parçacığı yerel depolama (<stdatomic.h> <threads.h>)

Bu nedirGelişmiş bellek sıralama modeli? Nasıl Ne c99 Standardı değişiklikleri/?

Standart alıntılar yerine, eğer birisi onlara daha derin araştırır eğer ben takdir edecektir ve mantığı işin içinde açıklamaya çalışır.

Anladığım kadarıyla, C11 sağlar için destek:

  • İş parçacığı oluşturma ve Yönetimi
  • Zaman uyumu
  • Koşullu Değişkenler
  • Özel depolama iplik &
  • Atom Nesneler

Ben bir şey kaçırmadım umarım?
Şimdi Standart kütüphane(sağlayacak) tüm fonksiyonlar Çoklu-işlem için gerekli kendisi sağlar beri, POSIX ve gelecekte bu tür kitaplıkları(Çoklu-işlem desteği için yeterli kaynak yok?

Derleyiciler yukarıdaki destek Ne son olarak, özellikleri bahsetmedi mi? Bu desteklenecek zaman çizelgeleri için herhangi bir başvuruları var mı?
Derleyici desteği ve özellikleri ile ilgili bağlantı, böyle bir şey belki de vardı C 11 için hatırlıyorum?

CEVAP
16 Ocak 2012, PAZARTESİ


İlk olarak, C 11 mızmızlanma. Yeni standartlar için eşzamanlılık çalışma C 11 şemsiyesi altında yapıldı, sonra uyumlu olmak, açık amacı ile C11 içe. Bazı sözdizimsel farklılıklar (şablonlar ya da fonksiyon aşırı yükleme olmaması normal C nedeniyle örneğin) olsa da, anlamsal tasarım ile aynıdır. "Kanıt" bu, bir WG14 kağıtları kontrol edebilirsiniz. E. g:

ve referanslar orada. Daha fazla bilgi bulunabilir Open Std Website

Lütfen sorularınız için:

Gelişmiş bellek sıralama modeli nedir?

Bariz bir cevabın birden çok iş parçacığı almak için değiştirilmiş olduğunu ve onlar nasıl etkileşimde olduğunu. Biraz daha uzun bir cevap için, zaten yorumlarda bahsedilen C 11 introduced a standardized memory model. What does it mean? And how is it going to affect C programming? bkz. Derinlemesine bir anlayış için, stackoverflow bir cevap değil belki doğru yere (hatta daha az, birkaç subquestions ile bir soru!). Ama neyse ki Hans Boehm maintains a very good page with interesting links for further reading (tekrar, C11 ve C 11 bellek modelleri olduğunu unutmayın anlamsal olarak aynı)

Ben bir şey kaçırmadım umarım?

Bellek modeli ile birlikte, listenizi C11 eşzamanlılık eklemeler kapak gibi görünüyor. Diğer değişiklikler, wikipedia has a list; kafamın üst Vikipedi liste kaçırdı ama hiçbir şey yapamam.

Şimdi Standart kütüphane(sağlayacak) tüm fonksiyonlar Çoklu-işlem için gerekli kendisi sağlar beri, POSIX ve gelecekte bu tür kitaplıkları(Çoklu-işlem desteği için yeterli kaynak yok?

Evet, onlar için bir ihtiyaç olacaktır. İlk olarak, kimse çeşitli mevcut iplik API kullanan varolan kodu hepsi yeniden olacak. İkinci olarak, C( )11 parçacığı kütüphane/en az uygulanan etrafında sarıcı çeşitli yerel iş parçacığı kütüphaneleri; heck, orada bile belgelenmiş bir yol almak için bir işaretçi temel yerel iş parçacığı, bu durumda tek yapması gereken bir şey ötesinde ne C( ) iş parçacığı Kütüphanesi destekler. C( )11 parçacığı Kütüphanesi çeşitli yerel iş parçacığı kütüphaneleri etrafında taşınabilir, en az bir ortak payda paketi daha.

Derleyiciler yukarıdaki destek Ne son olarak, özellikleri bahsetmedi mi? Bu desteklenecek zaman çizelgeleri için herhangi bir başvuruları var mı? Derleyici desteği ve özellikleri ile ilgili bağlantı, böyle bir şey belki de vardı C 11 için hatırlıyorum?

Herhangi bir ayrıntılı liste görmedim, C 11 göre C11 etrafta pek buzz gibi görünmüyor. Önümüzdeki GCC 4.7 için kısa bir haber var: http://gcc.gnu.org/gcc-4.7/changes.html . Eşzamanlılık desteği için, C 11 durum sayfası burada eşzamanlılık desteği öğrenebilirsiniz: http://gcc.gnu.org/projects/cxx0x.html . Ayrıca http://gcc.gnu.org/wiki/Atomic GCC (sayfa göre, stdatomic.mevcut durumu ve planları hakkında bazı notlar var h kullanılabilir). Diğer Derleyiciler için, çeşitli Derleyiciler için burada C 11 durumu http://www.aristeia.com/C 11/C 11FeatureAvailability.htm güzel bir liste var . Gelen bağlantılar, bir durumunu kontrol eşzamanlılık desteği ve varsayılırsa, satıcı soru planlarına destek C11, C11 eşzamanlılık sonra destek olmak için yaklaşık aynı seviyede.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • habpsu

    habpsu

    25 Temmuz 2007
  • Marques Brownlee

    Marques Brow

    21 Mart 2008
  • Schmittastic Jr.

    Schmittastic

    19 Mart 2013