cari
RumahJavajavaTutorialKitaran hayat benang di Jawa

Sebuah benang mengalami pelbagai fasa dalam kitaran hayat. Seperti, benang datang ke dunia, bermula, berjalan, dan selepas itu berlalu pergi. Gambar rajah seterusnya menerangkan kitaran hayat lengkap benang.

Kitaran hayat benang di Jawa

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

  • Pembina Benang menghasilkan benang melalui keadaan baharu.
  • Memanggil memulakan kaedah dalam Thread boleh membuatnya melalui keadaan boleh jalan.
  • Penjadual Thread berkenaan Java menjalankan utas itu apabila pemproses menerimanya.
  • Apabila urutan pergi ke keadaan tersekat, ia akan berjalan semula kerana ia kembali kepada keadaan boleh jalan.
  • Jika kaedah tunggu dirujuk sebagai urutan akan pergi ke menunggu keadaan, ia akan pergi ke keadaan boleh jalan sejurus selepas ia menjadi pemberitahuan sepanjang Maklum dan kaedah maklumkan semua.
  • Benang berakhir sebaik sahaja kaedah larian ditamatkan.

Apakah Benang?

Urut ditakrifkan pada peringkat Sistem Pengendalian. Dan bahasa Java, serta semua bahasa lain, menggunakan memanfaatkan perkhidmatan yang diberikan oleh Sistem Pengendalian. Dari sudut pandangan pembangun, utas ialah satu set arahan yang akan kami tulis aplikasi kami dan laksanakan dengan cara tertentu. Aplikasi itu sendiri boleh terdiri daripada beberapa utas. Benang yang berbeza boleh dilaksanakan pada masa yang sama. JVM (Java Virtual Machine) berfungsi dengan beberapa utas. Terdapat benang untuk kutipan sampah. Terdapat urutan untuk Pengkompil Just in Time dan urutan teknikal lain.

Keadaan  Kitaran Hayat Benang di Jawa

Di bawah ialah Keadaan Kitaran Hayat Benang yang berbeza di Jawa:

1. Baharu: Urutan baharu memulakan kitaran hayatnya dalam keadaan baharu. Ia terus berada dengan keadaan ini sebelum program memulakan utas. Selain itu, ia dikenali sebagai urutan yang dicipta.

2. Runnable: Selepas benang yang baru dilahirkan boleh dimulakan, thread bertukar menjadi runnable. Urutan dengan keadaan ini dianggap melaksanakan prosesnya.

3. Menunggu: Adakalanya, urutan peralihan ke arah menunggu di sekitar negeri walaupun urutan sedang menunggu urutan lain untuk melaksanakan aktiviti. Peralihan benang kepada keadaan boleh jalan hanya jika utas tambahan menunjukkan urutan menunggu untuk terus berprestasi.

4. Menunggu Bermasa: Benang boleh jalan boleh dengan mudah masa tertentu menunggu keadaan untuk mendapatkan selang masa tertentu. Urutan dengan peralihan keadaan ini kembali kepada keadaan boleh jalan sebaik sahaja selang titik tamat tempoh atau jika acara yang benar-benar ditunggu berlaku.

5. Ditamatkan: Urutan boleh jalan masuk ke keadaan ditamatkan kerana ia menyelesaikan tugasnya atau ditamatkan.

Bagaimana untuk Mencipta Benang dalam Java?

Cara paling asas untuk mencipta benang dalam Java ialah menggunakan Corak Runnable. Pertama, anda perlu mencipta contoh antara muka Runnable, yang sangat mudah; hanya ada satu kaedah untuk dilaksanakan. Kemudian kami menyampaikan contoh ini kepada pembina kelas Thread. Dan kemudian, kami hanya memanggil kaedah mula() bagi objek utas ini yang dicipta untuk melancarkan utas baharu yang akan menjalankan tugas yang dibungkus dalam objek Runnable kami.

Kitaran hayat benang di Jawa

Maka mula-mula, kami mencipta contoh Runnable.  Terdapat hanya satu kaedah untuk dilaksanakan, yang dipanggil kaedah run(). Ini ialah corak Java 7 untuk melakukan itu, dengan contoh kelas tanpa nama. Tetapi kita juga boleh menggunakan ungkapan lambda untuk melaksanakan Runnable kerana hanya terdapat satu kaedah dalam antara muka Runnable.

Kitaran hayat benang di Jawa

Mari kita buat urutan pada contoh yang sangat mudah.

Kami akan melihat apa yang boleh berlaku dengan keadaan perlumbaan iaitu dengan kod tidak segerak yang harus disegerakkan dan kami akan membetulkan kod kami menggunakan penyegerakan. Contoh pertama ini sangat mudah; ia sangat asas. Ia hanya tentang mencipta tugasan.

Kitaran hayat benang di Jawa

Output:

Kitaran hayat benang di Jawa

Tugas ialah contoh antara muka Runnable, mari kita panggil ia runnable dan kita boleh melaksanakan antara muka ini menggunakan ungkapan lambda. Tugasan ini diberikan kepada utas baharu dan dilaksanakan dalam konteks utas ini. Jadi kami hanya akan mencetak nama benang yang menjalankan tugas ini. Saya menjalankan dalam… Thread.currentThread() ialah kaedah statik kelas Thread yang mengembalikan utas menjalankan tugas semasa. Dan kita hanya perlu memanggil getName() pada objek thread ini untuk mengembalikan nama thread, kemudian selepas kita mencipta contoh Thread t = Thread baru.  Melepasi runnable ini sebagai parameter. Jadi benang ini akan melaksanakan sekeping kod ini. Dan untuk melancarkannya. t.start() ini ialah kaedah start() yang perlu kita panggil. Kami juga boleh memberikan nama eksplisit untuk Thread ini menggunakan t.setName("My thread"). Dan kini kita boleh melaksanakan kod ini. Sekarang bukannya kaedah panggilan mula(), kami memanggil kaedah run() dan jika kami menjalankan kod ini, masalahnya ialah tugas itu dilaksanakan dengan betul, tetapi ia tidak dilaksanakan dalam utas yang telah kami cipta. Ia dilaksanakan dalam utas utama, iaitu utas melaksanakan kaedah utama. Jadi kaedah run() ini tidak boleh dipanggil jika kita ingin melancarkan benang baharu.

Kitaran hayat benang di Jawa

Output:

Kitaran hayat benang di Jawa

Kaedah Kitaran Hidup Benang di Jawa

Kaedah yang diterangkan dengan hanya Thread dibentangkan dalam Jadual.

Data Types Thread Method Names
String

getName()

Return this thread’s name

int get priority()

Returns the thread’s priority

boolean isAlive()

Tests if this thread is still running

void join()

Waits for this thread to die (terminate)

void run()

Whenever this thread was built utilizing an individual Runnable object, which usually Runnable object’s run method is called, this method will do nothing and returns. Whenever thread class can be extended and run() method is over-ridden during sub-class, then an over-ridden run() method is called.

void setName(String name)

Alterations the name with this thread to become comparable to the argument name.

static void

 

 

sleep(long millis) throws Interrupted/Exception
It causes the presently performing thread to rest for
the required quantity of milliseconds.
static void sleep(long millis, int Nanos) throws InterruptedException

It causes the presently performing thread to sleep (cease execution) for the required quantity of milliseconds as well as the particular quantity of nanoseconds.

void start()

Triggers these threads to start execution; the Java Virtual Machine calls the run method of that thread.

static void yield()

Triggers the presently thread object to pause and permit additional threads to execute briefly.

static Thread currentThread()

Returns a mention of the presently executing thread object.

Jenis Data

Nama Kaedah Benang
    String

  • getName()
  • Kembalikan nama urutan ini

  • int
  • dapatkan keutamaan()
  • Mengembalikan keutamaan urutan
    boolean isAlive() Menguji jika urutan ini masih berjalan
    kosong sertai() Tunggu thread ini mati (tamat)
    kosong run() Setiap kali urutan ini dibina menggunakan objek Runnable individu, yang biasanya kaedah runnable objek Runnable dipanggil, kaedah ini tidak akan melakukan apa-apa dan kembali. Apabila kelas thread boleh dilanjutkan dan kaedah run() over-ridden semasa sub-class, maka kaedah run() over-ridden dipanggil.
    kosong setName(Nama rentetan) Mengubah nama dengan urutan ini menjadi setanding dengan nama argumen.
    kosong statik     tidur(millis panjang) lontaran Terganggu/Pengecualian
    Ia menyebabkan utas yang sedang berfungsi untuk berehat selama
    kuantiti milisaat yang diperlukan.
    kosong statik tidur(millis panjang, int Nano) melempar InterruptedException Ia menyebabkan utas yang sedang berfungsi untuk tidur (berhenti pelaksanaan) untuk kuantiti milisaat yang diperlukan serta kuantiti nano saat tertentu.
    kosong mula() Cetus urutan ini untuk memulakan pelaksanaan; Mesin Maya Java memanggil kaedah jalankan benang itu.
    kosong statik hasil() Mencetuskan objek utas pada masa ini untuk menjeda dan membenarkan urutan tambahan untuk dilaksanakan secara ringkas.
    Benang statik currentThread() Mengembalikan sebutan objek urutan yang sedang dilaksanakan.
    Kesimpulan Mudah untuk mula menggunakan benang, amat sukar untuk difahami. Merancang kelas yang mengandungi kaedah yang boleh menjadi benang selamat adalah mencabar. Baca: JavaDoc untuk mendapatkan kelas java.lang.Thread

    Atas ialah kandungan terperinci Kitaran hayat benang di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

    Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

    Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

    Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

    Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

    Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

    Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

    Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

    Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

    Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

    See all articles

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Cara Membuka Segala -galanya Di Myrise
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Muat turun versi mac editor Atom

    Muat turun versi mac editor Atom

    Editor sumber terbuka yang paling popular

    MantisBT

    MantisBT

    Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    EditPlus versi Cina retak

    EditPlus versi Cina retak

    Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

    SecLists

    SecLists

    SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.