2012-11-27 18 views
7

Freebsd'de port kaynağından perl 5.16 (ve diğer versiyon) derlediğimde 'THREADS' ve 'PTHREAD' seçenekleri arasında ne farklılıklar var acaba?konuya göre pthread in perl

PTHREAD posix iş parçacığı mı? (çünkü -poneli) Ve eğer öyleyse, 'İPLİKLER' tercih edilir? freebsd'de bile (önceden seçilmiş gibi görünüyor) Öte yandan 'İĞNELER' (Kernel konuları?) Nedir? Artıları ve eksileri nelerdir?

Her ikisini de tek bir kurulumda kullanabilir miyim? Bu anlamlı mı?

Görebildiğim kadarıyla, perl ile birlikte etrafta bulmak için fazla bir şey yok. Diğerleri tabii ki tarif ettiğim

teşekkür konuları kullanarak çok jimmy

+0

hum ... Perl sadece bir iş parçacığı modeline sahiptir ('-Dusethreads') – ikegami

+0

hmm :) 'DÜZENLE' ile derlerken, 'DREAMS' ile derleme yapılandırmaları -Dusethreads = n - -Dusethreads = y. 'PTHREADS', ldflaglara '-pread' ekliyor. Yani, sanırım sadece şaka değil. Bir fark yaratıyor, ama ne oldu acaba ?! :/ –

+1

Perl, farklı bir iş parçacığı modeline sahipti. Çok kırılmıştı. Muhtemelen buna erişmeye çalışıyorsun. – ikegami

cevap

17

olduğunu.

Pthread ile bağlantı, perlinizin -pthread bayrağıyla oluşturulduğu anlamına gelir. Bu ince ama önemli bir etkiye sahiptir. Bu, perl başladığında, thread için durumu koruyan libc verilerinin başlatıldığı anlamına gelir. Bu, perl'inin dlopen() öğesini işlenen bir kitaplık üzerinde çağırması durumunda, askıya almak yerine düzgün çalışacağı anlamına gelir.

PS. Aslında, PTHREAD seçeneğini limana yazıp taahhüt eden kişi benim. Aslında bazı perl modüllerini keşfettim, bu da dlopen() 'in bazı libre kütüphaneleri ve perl'in asılmasına neden oldu. Nedenini anlamak için biraz zaman harcadım. Güven bana, PTHREAD seçeneğinin açılmasını istiyorsun. Aslında onu kapatma seçeneğini kaldırmayı düşünüyorum. Daha fazla bilgi için, bkz. FreeBSD PR 163512 ve 163878. Muhtemelen bu seçeneği yukarı yönde itmeliyiz, böylece perl bunu FreeBSD'de varsayılan olarak kullanır. Dlopen() diyebilecek herhangi bir şey gerçekten -pread ile oluşturulmalıdır.

+0

Sadece seni seviyorum!Ve evet, bahsettiğiniz ve atıfta bulunduğunuz şey ile ilgili olarak, sadece varsayılan yapmak için iyi bir fikir gibi geliyor. Tekrar teşekkürler! –

+0

Bu açıklama için teşekkür ederiz. Her zaman perl'i pthreads ile ilişkilendirmeyi teklif ettim: https://rt.perl.org/Public/Bug/Display.html?id=122906 –

İlgili konular