java实现线程的两种方式

本文通过两种方式实现了Java线程:一是继承Thread类并覆盖run方法;二是实现Runnable接口并通过Thread类来启动。两种方式均实现了循环输出0-9数字,并在每次输出后随机休眠不超过10毫秒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 使用Thread类的子类实现线程,其功能为循环输出0-9数字,每次随机休眠不到10毫秒的时间。在main()方法中创建两个这样的线程,启动运行。所有线程开始、结束都要有相应的文字描述。

public class My extends Thread {

    @Override

    public void run() {

                   test();

    }

    

    public void test()

    {

        //随机数  随机出休眠时间                

        for (int i = 0; i < 10; i++)

        {

              

           System.out.println(Thread.currentThread().getName()+"线程运行开始"+i);            try 

            {

                

                Thread.sleep((int)Math.random()*10);

                

                

            }

            catch (InterruptedException e)

            {

                           e.printStackTrace();

            }

            //当某个线程输出到第10个的时候    得到要去的城市 并直接结束

            if(i==9)

            {

                      System.exit(0);

            }

        }

      

    }

    

    public static void main(String[] args) {

        

        

        My city1=new My ();    

        city1.start();

    

        

        My city2=new My ();

        city2.start();

    

            

        }   

    

}

2.使用Runnable接口实现线程,完成与上题同样的功能。

class My implements Runnable{
	public My(){}
	public void run(){
		
		for(int x=0;x<10;x++){
System.out.println(Thread.currentThread().getName()+"线程运行开始");
			System.out.println(x);
			try{
 Thread.sleep((int)Math.random()*10);

		}catch(Exception e){}
		}
		System.out.println("线程运行结束");	
	}	
}
public class test07 {
	public static void main(String[] args) {
		System.out.println("main线程运行开始");
		My m=new My();
		Thread t1=new Thread(m);
		Thread t2=new Thread(m);
		t1.start();
		t2.start();
		System.out.println("main线程运行结束");}}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值