zoukankan      html  css  js  c++  java
  • 创建Thread类的子类

    package unit8;
    
    public class MyThreadTest {
        public static void main(String[] args) {
            MyThread t1 = new MyThread();
            MyThread t2 = new MyThread();
            t1.start();
            t2.start();
            try{
                for(int k=0;k<=6;k++){
                    System.out.println("在主线程k中,k="+k);
                    Thread.sleep(4000);
                }
                
            }catch (InterruptedException e) {
                // TODO: handle exception
            }
        }
    }

    主线程休息的时候,执行MyThread类的两个实例线程。

    package unit8;
    
    public class MyThread extends Thread{
        public void run(){
            for(int i=0;i<=5;i++){
                try{
                    System.out.println("exp("+i+")="+Math.exp(i));
                    Thread.sleep(1000);
                }catch (InterruptedException e) {
                    // TODO: handle exception
                }
            }
        }
        
    
    }

    通过继承Thread类,并且能够且只能够实现run方法来自定义线程。

    上面的程序中,如果将主线程sleep的时间设置为4000,则t1,t2这两个线程可以执行4次(因为sleep时间为1000,计算过程很快,被忽略)

    程序执行结果如下:

    在主线程k中,k=0
    exp(0)=1.0
    exp(0)=1.0
    exp(1)=2.7182818284590455
    exp(1)=2.7182818284590455
    exp(2)=7.38905609893065
    exp(2)=7.38905609893065
    exp(3)=20.085536923187668
    exp(3)=20.085536923187668
    在主线程k中,k=1
    exp(4)=54.598150033144236
    exp(4)=54.598150033144236
    exp(5)=148.4131591025766
    exp(5)=148.4131591025766
    在主线程k中,k=2
    在主线程k中,k=3
    在主线程k中,k=4
    在主线程k中,k=5
    在主线程k中,k=6

    如果将主线程sleep的时间修改,将会得到不同执行结果。

  • 相关阅读:
    自考新教材-p209
    自考新教材-p205
    自考新教材-p200
    自考新教材-p197
    Java IO (5)
    Java IO (1)
    Java IO (2)
    Java IO (3)
    通过源码学Java基础:InputStream、OutputStream、FileInputStream和FileOutputStream
    Spring入门(1)-第一个Spring项目
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/5791450.html
Copyright © 2011-2022 走看看