Therac-25!
Therac-25 projesindeki geliştiriciler, terapötik bir XRAY makinesinde bir UI ile arayüzle ilgili bir konu arasındaki zamanlama konusunda oldukça emindiler.
Olmamalıydı.
Bu ünlü yaşam ve ölüm yazılımı felaketi hakkında daha fazla bilgi edinebilirsiniz:
http://www.youtube.com/watch?v=izGSOsAGIVQ
veya
http://en.wikipedia.org/wiki/Therac-25
Başvurunuz başarısızlığa karşı tıbbi cihazlardan daha az hassas olabilir. Yararlı bir yöntem, ortaya çıkma ihtimalinin ürünü ve üretilebilecek tüm birimler için ürünün kullanım ömrü boyunca ortaya çıkma maliyetinin ürünü olarak riske maruz kalma oranını belirlemektir.
Kodunuzu kalıcı olarak oluşturmayı seçtiyseniz (ve sizinki gibi görünüyorsa), sisteminizin içindeki veya dışındaki bilgisayarların hızı arttıkça Moore'un birkaç yılda bir kolayca sıfırlanmasını düşünmelisiniz. Binlerce kopya gönderirseniz, daha fazla sıfır alın. Kullanıcılar bu işlemi yıllarca (veya aylık) günlük yaparlarsa, birkaç tane daha alın. Google fiberin kullanıldığı yerlerde kullanılırsa, o zaman ne olacak? Kullanıcı Arabirimi çöp orta GUI işlemi toplarsa, bu yarışı etkiler mi? GUI'nizin arkasında Açık Kaynak veya Windows kütüphanesi mi kullanıyorsunuz? Buradaki güncellemeler zamanlamayı etkileyebilir mi?
Semafor, kilit, muteks, bariyer senkronizasyonu, dişler arasındaki aktiviteleri senkronize etmenin yolları arasındadır. Potansiyel olarak, bunları kullanmıyorsanız, programınızı koruyan başka bir kişi olabilir ve daha sonra, iş parçacıkları arasındaki ilişkiler hakkındaki hızlıca varsayımlar kayabilir ve yarış durumu ile ilgili hesaplama geçersiz olabilir.
Açıkça senkronize etmenizi öneriyorum, çünkü bunun bir sorun yarattığını görmeseniz bile, bir müşteri olabilir. Ayrıca, yarış koşullarınız hiçbir zaman gerçekleşmediyse bile, siz veya kuruluşunuz kodunuzu savunmak için mahkemeye çağrılırsa (Toyota birkaç yıl önce Prius'le ilgili olduğu için). Metodolojiniz ne kadar kapsamlı olursa, o kadar iyi ücret alırsınız. "Bu gibi olası bir olaya karşı böyle koruyacağız ..." demek, "kodumuzun başarısız olacağını biliyoruz, ancak bu denklemin yaşamımızda gerçekleşmeyeceğini göstermek için yazdık. "
Olasılık hesaplama başka birinden geliyor gibi geliyor. Kodunuzu biliyorlar mı ve hiçbir hata yapılmadığına güvenecek kadar onları biliyor musunuz? Bir şey için% 99.99997'lik bir güvenilirlik hesapladıysam, üniversite istatistik derslerime geri dönmeyi düşünebilir ve her zaman% 100 elde edemediğimi ve kendi kişisel güvenilirlik tahminlerimin yüzde birkaçını geri çekebileceğimi hatırlayabilirim.