Dalam sistem komputasi tunggal, satu instruksi berjalan dalam waktu, dan satu hasilnya keluar pada waktu. Waktu untuk memuat dan menyelesaikan program tergantung pada jumlah pekerjaan yang Anda butuhkan CPU untuk dilakukan.
Multithreading adalah jenis pemrograman yang mengambil keuntungan dari kemampuan CPU untuk memproses banyak benang pada saat yang sama di beberapa inti. Alih-alih tugas atau instruksi mengeksekusi satu setelah yang lain, mereka berjalan secara bersamaan.
Satu benang berjalan pada awal program secara default. Ini adalah "utas utama". Benang utama menciptakan benang baru untuk menangani tugas. Benang baru ini berjalan sejajar satu sama lain, dan biasanya menyinkronkan hasil mereka dengan benang utama setelah selesai.
Pendekatan ini untuk melakukan pekerjaan dengan baik jika Anda memiliki beberapa tugas yang berjalan untuk waktu yang lama. Namun, kode pengembangan game biasanya mengandung banyak instruksi kecil untuk dijalankan sekaligus. Jika Anda membuat benang untuk setiap satu, Anda dapat berakhir dengan banyak benang, masing-masing dengan seumur hidup pendek. Itu dapat mendorong batas kapasitas pemrosesan sistem CPU dan operasi Anda.
Mungkin untuk mengurangi masalah seumur hidup benang dengan memiliki kolam benang. Namun, bahkan jika Anda menggunakan kolam benang, Anda mungkin memiliki sejumlah besar benang aktif pada saat yang sama. Memiliki lebih banyak benang daripada inti CPU mengarah ke benang yang berakhir satu sama lain untuk sumber daya CPU, yang menyebabkan sering switching konteks sebagai hasilnya. Sakelar konduktif adalah proses menghemat keadaan cara bagian benang melalui eksekusi, kemudian bekerja pada benang lain, dan kemudian rekonstruksi benang pertama, kemudian pada, untuk terus memprosesnya. Sakelar konteks adalah intensif sumber daya, sehingga Anda harus menghindari kebutuhan untuk itu di mana pun mungkin.
2018–06–15 Sitemap
Sistem Kerja C# terkena Oktober 2018