Sabit gerçek zamanlı geri aramalarda kilit ve muteks kullanımı yasa dışıdır. Kilit serbest değişkenleri farklı konulara okunabilir ve yazılabilir. C dilinde, dil tanımı bozulabilir ya da olmayabilir, ancak çoğu derleyici, bir değişkenin uçucu olduğu ilan edildiğinde kullanılabilir montaj kodunu çıkarır (okuyucu iş parçacığı değişkeni donanım yazmacısı olarak ele alır ve bu nedenle değişkeni kullanmadan önce yük yönergelerini yayınlar. Çoğu önbellek uyumlu çok işlemcili sistemlerde yeterince iyi çalışır.)Swift'de kilitlenmeyen paylaşılan değişken? (işleyen volatil)
Bu tür bir değişken erişim Swift'de belirtilebilir mi? Veya sıralı derleme dili veya veri önbelleği temizleme/geçersiz kılma ipuçlarının Swift diline eklenmesi gerekir mi?
Eklendi: OSMemoryBarrier() (OSAtomic.h) 'den önce ve sonra çağrıları kullanacak ve potansiyel olarak birbiriyle ilişkili değişkenlerin ("kilitsiz" fifo/arabellek durumu sayaçları gibi) her birini kullanacak veya güncelleyecek vb.), yeterince sipariş edilen bellek yükünü ve mağaza talimatlarını (ARM işlemcilerde bile) zorlar mı?
Neden herhangi bir yüksek düzeyli dil, belirli bir donanım mimarisi için çalışacak, ancak zayıf sıralı bir bellek modeli (ARM) içeren bir çok kişi için derlenebilecek bir özellik için bir yapı oluşturmalıdır? Dahası, C 'uçucu', aradığınız şey için asla _reliable_ çalışmaz. – CouchDeveloper
Tek bir iddia, Swift'in bir endüstriyel güç sistemi programlama dili olarak faydalı olmayı hedeflemesidir. Endüstriyel sistemler genellikle gerçek zamanlı operasyonel kısıtlamalara sahip müşteriye özgü fiziksel gerçek dünya girdileri ve kontrolleri ile bağlantılıdır. – hotpaw2
Bunlar gibi senaryolarda, yine de bir C API'sinden arayüz oluşturabilirsiniz. Fakat 'uçucu', eşzamanlı problemleri çözmek için uygun olmayacaktır. C11 standardında [Atomics operasyon kütüphanesi] (http://en.cppreference.com/w/c/atomic) içine bir göz attınız mı? Kilit içermeyen ilkeller var. – CouchDeveloper