Rumah > Java > javaTutorial > Mengapakah Mencipta Benang Java begitu Mahal?

Mengapakah Mencipta Benang Java begitu Mahal?

DDD
Lepaskan: 2024-12-04 05:52:13
asal
385 orang telah melayarinya

Why is Creating a Java Thread so Expensive?

Mengapa Mencipta Benang Adalah Mahal

Dokumentasi Java menyatakan bahawa penciptaan benang ialah operasi yang mahal. Tetapi apakah sebenarnya yang menyebabkannya mahal?

Overhed Kitaran Hayat Benang

Mencipta dan menamatkan benang memerlukan overhed yang ketara. JVM dan sistem pengendalian terlibat dalam pelbagai operasi, seperti:

  • Mengagihkan dan memulakan blok memori yang besar untuk tindanan benang
  • Membuat panggilan sistem untuk mendaftarkan utas asli dengan hos OS
  • Mencipta dan memulakan deskriptor untuk urutan dalam data JVM struktur

Penggunaan Sumber

Benang menggunakan sumber sepanjang hayatnya, termasuk:

  • Memori tindanan benang
  • Objek boleh dicapai daripada timbunan
  • JVM dan urutan OS deskriptor

Kebolehubahan Platform

Kos khusus berbeza-beza merentas platform. Walau bagaimanapun, penciptaan benang secara amnya bukanlah operasi yang murah pada mana-mana platform Java.

Data Penandaarasan

Penandaarasan menunjukkan bahawa mencipta benang pada platform Sun Java 1.4.1 pada pemproses Xeon 2002 menghasilkan kadar penciptaan kira-kira 4000 utas sesaat. Platform yang lebih moden menawarkan masa penciptaan yang lebih pantas, tetapi walaupun begitu, pembuatan benang kekal jauh lebih mahal daripada menggunakan semula benang daripada kumpulan benang.

Benang Hijau lwn Benang Asli

Benang hijau, yang dilaksanakan dalam perisian dan tidak bergantung pada benang asli, mungkin lebih murah untuk dibuat. Walau bagaimanapun, mereka datang dengan pertukaran prestasi lain.

Project Loom

Projek OpenJDK Loom bertujuan untuk memperkenalkan benang maya ringan sebagai alternatif kepada benang Java standard. Urutan maya menggabungkan aspek benang asli dan hijau, menawarkan kemungkinan pengurangan kos.

Atas ialah kandungan terperinci Mengapakah Mencipta Benang Java begitu Mahal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan