2011-05-18 15 views

cevap

6

Çalıştırılabilir nesneyi iş parçacığının yapıcısına iletmemiz gerekçesinin, iş parçacığının yürütmesini istediğimiz run() yöntemine ulaşması için bir yolu olması gerektiğidir.

Thread sınıfının run() yöntemi geçersiz kılmasını artık olduğundan bir örneğin

public class CustomApplet extends Applet { 
      public void init() { 
       Runnable ot = new OurClass(); 
       Thread th = new Thread(ot); 
       th.start(); 
     } 
    } 

al, Konu sınıfının varsayılan run() yöntem akdedilmiş olup; Bu

public void run() { 
     if (ot!= null) { 
        ot.run(); 
        } 
       } 

Dolayısıyla, ot biz parçacığının kurucusuna aktarılan çalıştırılabilir nesnedir gibi bu varsayılan run() yöntem görünüyor. Böylece iş parçacığı, runnable nesnesinin hemen run() yöntemini çağıran Thread sınıfının run() yöntemiyle yürütülmeye başlar.

+0

İş parçacığı sınıfı çalıştırılabilir arabirimi otomatik olarak uygular mı? –

+0

Evet. o .. –

5

Yeni iş parçacığının ne yapmasını istiyorsunuz? Muhtemelen bazı kodları yürütmek istersiniz. Ama hangi kod çalıştırmalı? Kodu bir konuya koyamazsınız. Ve Java fonksiyon işaretçilerine sahip değil. Bu sorunu çözmek için küçük bir hile, bir işlevi uygulayan bir nesneyi kullanmaktır. Bu işlev run. Yani, nesnenin bir run yöntemine sahip olması gerekir. Runnable arayüzünün yaptığı budur, bir çalışma yöntemi olduğundan emin olun. Böylece, bir Runnable nesnesi verirsek, iş parçacığı ne yapacağını bilir!

+0

+1 ...................... :) –

İlgili konular