-- Java SE

Giriş | Task, Thread, Multithreading

Multithreading bir programın eş zamanlı olarak birden çok görev(task) yapabilmesini sağlar. Bu,thread sayesinde yapılır. Thread,programın yaptığı bir görevin başlangıcından sonuna kadar süren akıştır.


Tek işlemcili sistemlerde(Resim A), threadlar CPU zamanını paylaşır(time sharing) ve işletim sistemi bu paylaşımdan sorumludur.Bu paylaşma işlemi,performans ve hafıza açısından büyük kolaylık sağlar çünkü çoğu zaman CPU boştadır,hiçbirşey yapmaz.(Mesela kullanıcıdan veri girmesini beklerken)

Eşzamanlı yapılması istenen tasklar için ek threadlar oluşturulabilir.Javada her task Runnable interface’nin bir instance objesidir.(runnable object)

Creating Tasks And Threads

Task mutlaka Runnable interface’ini implement etmeli ve mutlaka bir thread üzerinden gerçekleştirilmelidir(run)

Tasklar birer nesnedir,bir task oluşturulabilmesi için öncelikle bir Runnable’ı impelement eden bir task class’ı tanımlanmalıdır. Runnable basit bir interfacedir ve herşey run metodu içerisindedir.Bir threadın nasıl çalışacağını sisteme söylemek için bu run metodunun implement edilmesi gerekir.

public class TaskClass implements Runnable{

public TaskClass(){

// Task oluşturabilmek için constructor.

}

public run(){

//Sisteme thread'ın nasıl çalışacağını söyleyen metod.

}


}
public class Client{
    
    public void someMethod(){
       
        // Task oluşturma
        TaskClass task = new TaskClass(...);
        //Thread oluşturma
        Thread thread = new Thread(task);
        //Thread başlatma
        thread.start();
        
    }
}

 

Yorum bırak

Yorum