java多线程--实现Runnable接口


package unit8;

import java.applet.Applet;
import java.awt.Label;
import java.awt.TextField;

public class TestRunnable extends Applet implements Runnable{
    Label prompt1 = new Label("The first thread:");
    Label prompt2 = new Label ("The second thread:");
    TextField threadFirst = new TextField(28);
    TextField threadSecond = new TextField(28);
    Thread thread1,thread2;
    int count1=0,count2=0;
    public void init(){
        add(prompt1);
        add(threadFirst);
        add(prompt2);
        add(threadSecond);
    }
    public void start(){
        //创建线程对象,具有当前类的run方法,并用字符串指定线程对象的名字
        thread1 = new Thread(this,"FirstThread");
        thread2 = new Thread(this,"SecondThread");
        thread1.start();
        thread2.start();
    }
    public void run(){
        String currentRunning;
        while(true){
            try{
                Thread.sleep((int)(Math.random()*3000));
            }catch (InterruptedException e) {
                // TODO: handle exception
            }
            currentRunning = Thread.currentThread().getName();
            if(currentRunning.equals("FirstThread")){
                count1++;
                threadFirst.setText("线程1调用次数:"+count1);
            }else if(currentRunning.equals("SecondThread")){
                count2++;
                threadSecond.setText("线程2调用次数:"+count2);
            }
        }
    }
}

通过实现Runnable接口来实现所线程,具体实现run方法,这样当主程序sleep的时候就会执行子线程,这里的子线程都是Thread类的实例对象。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM