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类的实例对象。

 

posted @ 2016-08-20 23:13  超级学渣渣  阅读(2679)  评论(0编辑  收藏  举报