Jika saya mengerti apa yang Anda minta, itu mungkin, tetapi itu adalah hal yang sangat, sangat buruk.
Contoh kanonik dari apa yang Anda gambarkan adalah mempertahankan penghitung yang ditambahkan oleh banyak utas. Ini hampir tidak memerlukan apa pun dalam daya komputasi, tetapi membutuhkan koordinasi yang cermat di antara semua utas. Selama hanya satu utas pada satu waktu melakukan peningkatan (yang sebenarnya merupakan pembacaan diikuti oleh penambahan diikuti oleh penulisan), nilainya akan selalu benar. Ini karena satu utas akan selalu membaca nilai "sebelumnya" yang benar, tambahkan satu dan tulis nilai "selanjutnya" yang benar. Dapatkan dua utas ke tindakan pada saat yang sama dan keduanya akan membaca nilai "sebelumnya" yang sama, mendapatkan hasil yang sama dari kenaikan dan menulis nilai "berikutnya" yang sama. Penghitung secara efektif akan bertambah hanya sekali meskipun dua utas berpikir mereka masing-masing melakukannya.
Ketergantungan antara waktu dan kebenaran inilah yang oleh ilmu komputer disebut kondisi balapan .
Kondisi balapan seringkali dihindari dengan menggunakan mekanisme sinkronisasi untuk memastikan utas yang ingin beroperasi pada sepotong data yang dibagikan harus mengantre untuk akses. Penghitung yang dijelaskan di atas mungkin menggunakan kunci baca-tulis untuk ini.
Tanpa akses ke desain internal Dragon Age: Inkuisisi , yang dapat dilakukan siapa pun hanyalah berspekulasi tentang mengapa berperilaku seperti itu. Tapi saya akan mencoba berdasarkan beberapa hal yang saya lihat dilakukan dalam pengalaman saya sendiri:
Mungkin saja program ini didasarkan pada empat utas yang telah disetel sehingga semuanya berfungsi ketika utas sebagian besar berjalan tanpa gangguan pada inti fisik mereka sendiri. "Penyetelan" dapat dilakukan dalam bentuk penyusunan ulang kode atau memasukkan tidur di tempat-tempat strategis untuk mengurangi bug yang disebabkan oleh kondisi ras yang muncul selama pengembangan. Sekali lagi, ini semua dugaan, tetapi saya telah melihat kondisi balapan "diselesaikan" dengan cara itu lebih dari yang saya perhitungkan.
Menjalankan program seperti itu pada sesuatu yang kurang mampu daripada lingkungan yang disetelnya memperkenalkan perubahan waktu yang merupakan hasil dari kode yang tidak berjalan secepat atau, lebih mungkin, konteks switch. Sakelar konteks terjadi dalam cara fisik (yaitu, inti fisik CPU beralih di antara pekerjaan yang dipegang inti logisnya) dan logis (yaitu, OS pada CPU memberikan pekerjaan pada inti) cara, tetapi keduanya merupakan perbedaan yang signifikan dari apa yang akan menjadi waktu eksekusi "yang diharapkan". Itu bisa memunculkan perilaku buruk.
Jika Dragon Age: Inkuisisi tidak mengambil langkah sederhana untuk memastikan ada cukup inti fisik yang tersedia sebelum melanjutkan, itu salah EA. Mereka mungkin menghabiskan banyak uang dukungan panggilan dan email dari orang-orang yang mencoba menjalankan permainan pada perangkat keras yang terlalu sedikit.