Anda tidak dapat menjamin dalam .Net bahwa dua Thread
dijalankan pada dua core yang terpisah. Bahkan, Anda juga tidak dapat menjamin bahwa seseorang hanya Thread
akan berjalan pada satu inti (!) .
Ini karena utas yang dikelola tidak sama dengan utas OS - satu utas yang dikelola dapat menggunakan beberapa utas OS untuk mendukungnya. Dalam C #, Anda hanya pernah berhubungan langsung dengan berhasil Thread
s (setidaknya, tanpa menggunakan P / Invoke untuk memanggil fungsi WinAPI threading, yang Anda tidak harus lakukan) .
Namun, penjadwal .Net dan Windows sangat bagus dalam hal apa yang mereka lakukan - mereka tidak akan menjalankan dua utas pada satu inti sementara inti kedua duduk sepenuhnya menganggur. Jadi, secara umum, Anda tidak perlu khawatir.
t1
dant2
dieksekusi pada waktu yang berbeda dalam urutan acak (misalnya, mungkint2
dimulai sebelumnyat1
dalam beberapa model).