再说java多线程Thread

一个程序产生一个进程,一个进程从开始到结束,中间总会有很多时间被浪费掉。看着都觉得惋惜,比如一个图形界面的程序,当你没有点击任何一个按钮的时候, 程序就什么都不做。多线程提供了一个解决多道任务并行的方法(这么好的东西,可惜好多老师认为不重要都不怎么讲)。这样一来多个任务就可以同时运行且互不 干扰。如果你愿意还可以在不同线程中通信。
 
讲一个简单的例子比较有说服力,在applet中显示动态显示系统时间。
 
import java.awt.*;
import java.applet.*;
import java.util.*;//这个包用于取得当前时间
public class Counter extends Applet {
    public Label label=new Label("您当前的系统时间:");
    public Label timeDisplay = new Label("          ");
    public void init() {//把这里改动一下同样可以在窗体中执行
        this.add(label);//在applet中加入label下同
        this.add(timeDisplay);
        new Time();//
生成一Time类的对象
    }
    class Time extends Thread{//发现了没有,这是一个内部类
        String hour=null;     //内部类可以直接访问外布类的数据
        String minuter=null;  //外部类却不可以访问内部类的数据
        String second=null;
        public Time(){
            start();//这样线程类一被构造,马上就运行run()
        }
        public void run(){
            while(true){
                try {
                    sleep(1000);//暂停一秒
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                }
                Date date=new Date();
                hour=String.valueOf(date.getHours());
                minuter=String.valueOf(date.getMinutes());
                second=String.valueOf(date.getSeconds());
                timeDisplay.setText(hour+":"+minuter+":"+second);
            }
        }
    }//内部类到此为止

}
 
这样做的好处是,系统资源得到很好的利用,如果用c/c++的话则要用while不停的读取,仅仅读取一个时间就占了大量的系统资源,而且读取时间的时候还不允许做其他事情。



本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/134158,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值