Apa Itu Java Concurrency Dan Life Cycle

Apa itu Java Concurrency dan Life Cycle - Hi Guys! Artikel ini menjelaskan perihal menciptakan Java Concurreny dan Life Cycle. Saya menggunakkan NetBeans untuk mencoba membuat.

Apa itu Java Concurrency dan Life Cycle  Apa Itu Java Concurrency dan Life Cycle

Java Concurrency - Overview

Java ialah bahasa pemrograman multi-utas yang artinya kita sanggup mengembangkan jadwal multi-utas memakai Java. A multithreaded Program berisi dua atau lebih bab yang sanggup dijalankan secara bersamaan dan setiap bab sanggup menangani kiprah yang berbeda di ketika yang sama memanfaatkan sumber daya yang tersedia secara optimal khususnya ketika komputer Anda mempunyai banyak CPU.

Menurut definisi, multitasking ialah ketika banyak sekali proses membuatkan sumber daya pemrosesan umum menyerupai CPU. Multi-threading memperluas gagasan multitasking ke dalam aplikasi di mana Anda sanggup membagi operasi tertentu dalam satu aplikasi menjadi masing-masing utas. Setiap utas sanggup berjalan secara paralel. OS membagi waktu pemrosesan tidak hanya di antara yang berbeda aplikasi, tetapi juga di antara setiap utas dalam suatu aplikasi. Multi-threading memungkinkan Anda menulis dengan cara multi-threading acara sanggup dilanjutkan secara bersamaan dalam jadwal yang sama.
Life Cycle of a Thread

Apa itu Java Concurrency dan Life Cycle  Apa Itu Java Concurrency dan Life Cycle
Sumber: Java

Sebuah thread melewati banyak sekali tahapan dalam siklus hidupnya. Untuk misalnya, utas lahir, dimulai, dijalankan, dan lalu mati. Itu diagram berikut mengatakan siklus hidup lengkap dari sebuah utas.

Berikut ini ialah tahapan dari Life Cycle:

• Baru - Utas gres memulai siklus hidupnya di gres negara. Tetap dalam kondisi ini hingga jadwal dimulai utas. Ini juga disebut sebagai utas lahir.

• Runnable - Setelah utas gres lahir dimulai, utas menjadi runnable. Utas dalam kondisi ini dianggap menjalankan tugasnya.

• Menunggu - Terkadang, utas beralih ke negara menunggu sementara utas menunggu yang lain Tread untuk melaksanakan tugas. Utas transisi kembali ke status runnable hanya ketika utas lain memberi sinyal utas menunggu untuk melanjutkan eksekusi.

• Jangka Waktu Menunggu - Utas yang sanggup dijalankan sanggup masuk ke negara menunggu waktunya untuk interval waktu tertentu. SEBUAH utas dalam status ini transisi kembali ke runnable menyatakan kapan interval waktu itu berakhir atau ketika insiden itu sedang menunggu terjadi.

• Dihentikan (Mati) - Utas yang sanggup dijalankan masuk ke negara diakhiri ketika menuntaskan tugasnya atau jikalau tidak berakhir.

Thread Prioritas

Setiap Tread Java mempunyai prioritas yang membantu pengoperasian sistem memilih urutan dijadwalkannya utas. Prioritas utas Java berada dalam kisaran antara MIN_PRIORITY (konstanta 1) dan MAX_PRIORITY (konstanta 10). Oleh default, setiap utas diberi prioritas NORM_PRIORITY (konstanta 5). Tread dengan prioritas lebih tinggi lebih penting bagi suatu jadwal dan harus dialokasikan waktu prosesor sebelum prioritas yang lebih rendah utas. Namun, prioritas utas tidak sanggup menjamin pesanan di mana thread mengeksekusi dan sangat banyak platform tergantung.

Create a Thread by Implementing a Runnable Interface

Jika kelas Anda dimaksudkan untuk dihukum sebagai utas maka Anda sanggup mencapai ini dengan mengimplementasikan antarmuka Runnable. Kamu perlu mengikuti tiga langkah dasar berikut:

Langkah 1
Sebagai langkah pertama, Anda perlu mengimplementasikan metode run () yang disediakan oleh antarmuka Runnable. Metode ini menyediakan titik masuk untuk utas dan Anda akan menaruh budi bisnis lengkap Anda di dalam metode ini. Berikut ini ialah sintaks sederhana dari run () metode -

public void run ()

Langkah 2
Sebagai langkah kedua, Anda akan instantiate objek Thread menggunakan
konstruktor berikut -

Thread (Runnable threadObj, String threadName);

Di mana, threadObj ialah turunan dari kelas yang mengimplementasikan Antarmuka Runnable dan threadName ialah nama yang diberikan kepada Thread baru.

Langkah 3
Setelah objek Thread dibuat, Anda sanggup memulainya dengan memanggil mulai () metode, yang mengeksekusi panggilan untuk menjalankan () metode. Berikut ini ialah sintaks sederhana metode start () -

void start();

Contoh
Berikut ialah pola yang menciptakan utas gres dan mulai menjalankannya. Anda copy Script atau codding dibawah masukan di Java Main Class

class RunnableDemo implements Runnable {
private Thread t;
private String threadName;
RunnableDemo(String name) {
threadName = name;
System.out.println("Creating " + threadName );
}
public void run() {
System.out.println("Running " + threadName );
try {
for(int i = 4; i > 0; i--) {
System.out.println("Thread: " + threadName + ", "
+ i);
// Let the thread sleep for a while.
Thread.sleep(50);
}
} catch (InterruptedException e) {
System.out.println("Thread " + threadName + "
interrupted.");
}
System.out.println("Thread " + threadName + "
exiting.");
}
public void start () {
System.out.println("Starting " + threadName );
if (t == null) {
t = new Thread (this, threadName);
t.start ();
}
}
}
public class TestThread {
public static void main(String args[]) {
RunnableDemo R1 = new RunnableDemo("Thread-1");
R1.start();
RunnableDemo R2 = new RunnableDemo("Thread-2");
R2.start();
}
}

Lalu Run untuk melihat Outputnya.

Creating Thread-1
Starting Thread-1
Creating Thread-2
Starting Thread-2
Running Thread-1
Thread: Thread-1, 4
Running Thread-2
Thread: Thread-2, 4
Thread: Thread-1, 3
Thread: Thread-2, 3
Thread: Thread-1, 2
Thread: Thread-2, 2
Thread: Thread-1, 1
Thread: Thread-2, 1
Thread Thread-1 exiting.
Thread Thread-2 exiting.

Itulah yang dimaksud Java Concurrency dan Life Cycle dan cara membuatnya.
Semoga bermanfaat. Terimakasih.

Baca juga:

0 Response to "Apa Itu Java Concurrency Dan Life Cycle"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel