Rumah  >  Artikel  >  Java  >  Apakah ciri dan penggunaan benang dalam Java

Apakah ciri dan penggunaan benang dalam Java

王林
王林ke hadapan
2023-05-20 12:07:291421semak imbas

Sesuatu proses boleh mengandungi beberapa utas adalah komponen proses tersebut. Benang mempunyai tindanan peribadi, pembilang program dan pembolehubah setempat, tetapi tidak boleh memiliki sumber sistem. Ia berkongsi semua sumber proses dengan urutan lain proses induk.

Ciri-ciri benang:

Benang boleh menyelesaikan tugasan tertentu. Mereka boleh berkongsi pembolehubah yang dikongsi dan sebahagian daripada persekitaran proses induk dengan urutan lain, dan bekerjasama antara satu sama lain untuk menyelesaikan tugas.

Benang berjalan secara bebas dan tidak tahu sama ada terdapat rangkaian lain dalam proses.

Pelaksanaan utas adalah preemptif, iaitu, utas yang sedang dilaksanakan boleh digantung pada bila-bila masa untuk menjalankan urutan lain.

Sebuah utas boleh mencipta atau memusnahkan utas lain dan berbilang utas dalam satu proses boleh dilaksanakan serentak.

2: Penciptaan dan penggunaan utas

Java menggunakan kelas Thread untuk mewakili utas Semua objek utas mestilah contoh Thread atau subkelasnya Peranan setiap utas adalah untuk menyelesaikan tugasan tertentu . , sebenarnya, ia adalah untuk melaksanakan aliran program (sekeping kod yang dilaksanakan secara berurutan)

Pilihan 1: Warisi kelas Thread untuk mencipta kelas thread

Langkah:

1 Tentukan subkelas kelas Thread dan ganti kaedah Run kelas Isi kaedah kaedah run mewakili tugasan yang perlu diselesaikan oleh thread

2. Cipta contoh kelas Thread, iaitu, cipta objek Thread

3 Panggil kaedah permulaan thread untuk memulakan thread

Apakah ciri dan penggunaan benang dalam Java

Apakah ciri dan penggunaan benang dalam Java

Kesimpulan: Jika anda menggunakan Thread yang diwarisi Untuk mencipta kelas thread sebagai subkelas kelas, berbilang thread tidak boleh berkongsi pembolehubah instance kelas thread, seperti pembolehubah i

yang disebut di atas Penyelesaian 2: Laksanakan antara muka Runnable

1: Tentukan kelas pelaksanaan antara muka Runnable dan tulis semula kaedah Runnya juga merupakan badan pelaksanaan thread !

2: Buat contoh kelas pelaksanaan Runnable, dan gunakan tika ini sebagai sasaran Thread untuk mencipta objek Thread ini ialah objek thread sebenar.

3: Panggil kaedah mula untuk memulakan utas

Apakah ciri dan penggunaan benang dalam Java

Apakah ciri dan penggunaan benang dalam Java

Kesimpulan: Mencipta berbilang utas menggunakan antara muka Ruunable boleh Kongsi pembolehubah contoh kelas utas Ini kerana dengan cara ini, objek Runnable yang dicipta oleh program hanyalah sasaran utas dan berbilang utas boleh berkongsi sasaran, jadi berbilang utas boleh berkongsi pembolehubah contoh

Melaksanakan multithreading melalui Runnable sebenarnya adalah pembungkusan dijalankan ke dalam badan pelaksanaan thread, tetapi pada masa ini Java tidak boleh membungkus sebarang kaedah ke dalam badan pelaksanaan thread

Pilihan 3: Gunakan boleh panggil dan masa hadapan untuk mencipta thread

Bermula dari Java 5, Java menyediakan antara muka Boleh Dipanggil menyediakan kaedah panggilan() yang boleh digunakan sebagai badan pelaksanaan benang Ia kelihatan sangat serupa dengan Runnable, tetapi panggilan(. ) kaedah lebih berkuasa—— Kaedah panggilan() boleh mempunyai nilai pulangan dan kaedah panggilan() boleh membuang pengecualian

Java5 menyediakan antara muka Masa Depan untuk mewakili panggilan nilai pulangan kaedah Antara muka Boleh Dipanggil ( ) dan menyediakan kelas pelaksanaan FutureTask untuk antara muka Masa Depan, yang melaksanakan antara muka Masa Depan dan juga melaksanakan antara muka Runnable - yang boleh digunakan sebagai sasaran Thread .

Langkah pelaksanaan:

1: Buat kelas pelaksanaan antara muka Boleh Panggil dan laksanakan kaedah panggilan akan menjadi badan pelaksanaan benang dan kaedah panggilan mempunyai nilai pulangan. Apabila mencipta antara muka boleh dipanggil Laksanakan kelas!

2: Gunakan kelas FutureTask untuk membalut objek Boleh Panggil FutureTask membungkus nilai pulangan kaedah panggilan kelas Boleh Panggil

3: Gunakan objek FutureTask sebagai sasaran Thread untuk mencipta dan memulakan rangkaian baharu!

4: Gunakan kaedah get FutureTask untuk mendapatkan nilai pulangan selepas pelaksanaan

Apakah ciri dan penggunaan benang dalam Java

Apakah ciri dan penggunaan benang dalam Java

Kesimpulan: Ambil Runnable dan Boleh Dipanggil Kelebihannya ialah - kelas benang hanya melaksanakan antara muka Runnable atau Boleh Dipanggil, dan juga boleh mewarisi kelas lain dalam kaedah ini, berbilang benang boleh berkongsi objek sasaran, jadi ia sangat sesuai untuk berbilang benang yang sama untuk memproses sumber yang sama; situasi . Kelemahannya ialah kerumitan pengaturcaraan lebih tinggi sedikit.

Atas ialah kandungan terperinci Apakah ciri dan penggunaan benang dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam