cari

Rumah  >  Soal Jawab  >  teks badan

java - 为什么只能用单核cpu的软件并不是将一个cpu线程独占,而是每个线程平均占用?

比如说,我cpu有四个线程,那么运行一个只能利用单线程的软件为什么不是这个进程把第一个核心的所有资源占用,而是每个线程占用百分之25?

怪我咯怪我咯2769 hari yang lalu899

membalas semua(3)saya akan balas

  • 黄舟

    黄舟2017-04-18 09:54:36

    Apa yang anda inginkan boleh dicapai. Terdapat API yang berbeza yang boleh dipanggil pada sistem pengendalian yang berbeza Di Linux, sched_setaffinity dipanggil Pada Windows, SetProcessAffinityMask boleh digunakan untuk mengikat urutan tertentu dijalankan pada teras cpu. Sudah tentu, apa yang anda katakan adalah bahawa utas sepenuhnya menduduki semua menjalankan CPU. Ini tidak boleh direalisasikan dalam mod pengguna Sistem pengendalian semasa menjadualkan mod kernel boleh dijalankan, tetapi anda perlu menjadualkannya secara aktif Jika tidak, seluruh mesin akan muncul dalam animasi yang digantung, dan mesin tidak akan bertindak balas, tetapi ia sebenarnya adalah gelung tak terhingga.

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 09:54:36

    Sistem pengendalian moden menggunakan mekanisme berbilang benang awalan untuk mengendalikan CPU Apabila mendapatkan kawalan CPU, hirisan masa diperoleh dan selepas hirisan masa tamat, kawalan diserahkan kepada benang lain.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:54:36

    PC Rumah ialah sistem perkongsian masa, yang menggunakan putaran kepingan masa untuk memperuntukkan sumber secara sama rata. Apakah yang perlu saya lakukan jika satu utas memonopoli keseluruhan teras CPU dan utas bergelung tanpa henti

    balas
    0
  • Batalbalas