Bir noktada, main() öğesinin ilk satırı olana kadar güvenli bir şekilde oluşturulamayan konuların okunmasını hatırlıyorum çünkü derleyiciler statik başlatma süresi boyunca çalışan iş parçacığı oluşturmak için özel kodlar ekliyorlar. Bu yüzden, inşasında bir iş parçacığı oluşturan bir genel nesneye sahipseniz, programınız çökebilir. Ama şimdi orijinal makaleyi bulamıyorum ve bunun bir kısıtlamanın ne kadar güçlü olduğunu merak ediyorum - standart tarafından kesinlikle doğru mu? Çoğu derleyicide doğru mu? C++ 0x'da geçerli mi kalacak? Compiler'ın kendiliğinden kendiliğinden başlatılmasını sağlamak için standartlara uyması mümkün mü? (örn. iki global nesnenin birbiriyle temas etmediğini algılamak ve program başlangıcını hızlandırmak için bunları ayrı iş parçacıklarında başlatmak)İş parçacıkları, statik başlatma sırasında güvenli bir şekilde oluşturulabilir mi?
Düzenleme: Açıklığa kavuşturmak için, en azından uygulamaların gerçekten önemli ölçüde farklılık gösterip göstermediğini anlamaya çalışıyorum Bu bağlamda veya sahte standart bir şeyse. Örneğin, teknik olarak standart, farklı erişim belirleyicilerine (genel/korunan/vb.) Ait üyelerin düzenini karıştırmaya izin verir. Ama bildiğim derleyici aslında bunu yapmaz.
"Standart olarak kesinlikle doğru mu?" - C++ 03 standardının, iş parçacığı hakkında söyleyecek hiçbir şeyi yoktur. Mevcut davranışa göre bakılacak yerler, derleyici, platform ve iş parçacığı API'sı için POSIX (tabii ki * standart * değil, * standarttır), MSDN, Boost veya diğer uygulamaya özgü belgeler olacaktır. kullanın. –