"Benang" ialah unit aliran arahan terkecil apabila atur cara berjalan. Proses merujuk kepada program dengan fungsi bebas tertentu, dan utas adalah sebahagian daripada proses, menerangkan status pelaksanaan aliran arahan adalah unit terkecil aliran pelaksanaan arahan dalam proses, dan merupakan unit asas penjadualan CPU. Benang adalah proses pelaksanaan tugas (segmen program); benang tidak menduduki ruang memori, ia termasuk dalam ruang memori proses. Dalam proses yang sama, beberapa utas berkongsi sumber proses;
Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.
"Benang" ialah unit aliran arahan terkecil semasa atur cara berjalan.
Proses merujuk kepada proses pelaksanaan dinamik program dengan fungsi bebas tertentu pada pengumpulan data. Benang adalah sebahagian daripada proses dan menerangkan status pelaksanaan aliran arahan. Ia adalah unit terkecil aliran pelaksanaan arahan dalam proses dan unit asas penjadualan CPU.
Benang: proses ringan, iaitu unit terkecil untuk penjadualan oleh sistem pengendalian. Benang ialah proses pelaksanaan tugas (segmen program). Benang tidak menduduki ruang memori, ia termasuk dalam ruang memori proses. Dalam proses yang sama, beberapa utas berkongsi sumber proses tersebut. Satu proses mempunyai sekurang-kurangnya satu utas.
Status
Apabila sistem pengendalian mencipta utas, utas berada dalam keadaan penciptaan Apabila CPU menjadualkan utas, utas berada dalam keadaan berjalan. Pada masa ini, bahagian lain yang dicipta atau masa telah tamat tempoh Benangnya berada dalam keadaan sedia Sudah tentu, beberapa utas berada dalam keadaan disekat apabila melakukan IO pada cakera, rangkaian, dsb. Apabila sistem pengendalian memusnahkan benang, benang. berada dalam keadaan ditamatkan. Di samping itu, benang juga mempunyai keadaan sedia statik dan keadaan tersekat statik Berada dalam kedua-dua keadaan ini bermakna benang itu digantung oleh sistem pengendalian.
Ciri
Dalam OS berbilang benang, proses biasanya merangkumi berbilang benang dan setiap utas adalah Sebagai unit asas menggunakan CPU, ia adalah entiti yang menggunakan overhed minimum. Benang mempunyai sifat berikut.
1), entiti ringan
Entiti dalam urutan pada asasnya tidak memiliki sumber sistem, tetapi hanya mempunyai beberapa sumber penting yang boleh memastikan operasi bebas.
Entiti utas termasuk program, data dan TCB. Thread ialah konsep dinamik, dan ciri dinamiknya diterangkan oleh Thread Control Block (TCB).
2), unit asas penjadualan dan penghantaran bebas.
Dalam OS berbilang benang, utas ialah unit asas yang boleh dijalankan secara bebas, dan oleh itu juga merupakan unit asas penjadualan dan penghantaran bebas. Oleh kerana benang sangat "ringan", penukaran benang sangat pantas dan mempunyai sedikit overhed (dalam proses yang sama).
3), boleh dilaksanakan serentak.
Berbilang utas dalam proses boleh dilaksanakan secara serentak, malah semua utas dalam proses boleh dilaksanakan serentak dengan cara yang sama, utas dalam proses yang berbeza juga boleh dilaksanakan serentak, menggunakan sepenuhnya Keupayaan pemproses dan peranti persisian untuk berfungsi secara selari.
4), berkongsi sumber proses.
Setiap utas dalam proses yang sama boleh berkongsi sumber yang dimiliki oleh proses Ini pertama kali ditunjukkan dalam: semua urutan mempunyai ruang alamat yang sama (ruang alamat proses), yang bermaksud bahawa utas boleh Mengakses setiap. alamat maya dalam ruang alamat ini, sebagai tambahan, anda juga boleh mengakses fail terbuka, pemasa, mekanisme semaphore, dan lain-lain yang dimiliki oleh proses. Oleh kerana benang dalam proses yang sama berkongsi memori dan fail, benang berkomunikasi antara satu sama lain tanpa memanggil kernel.
Untuk lebih banyak pengetahuan berkaitan, sila lawati ruangan Soalan Lazim!
Atas ialah kandungan terperinci Apakah unit aliran arahan terkecil semasa program dijalankan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!