Java中使用继承Ruannable来实现多线程的操作以及同步的使用

本文提供了一个Java多线程的示例代码,通过继承Runnable接口创建了三个子线程,并在主线程中等待所有子线程执行完毕。此外,还介绍了如何使用synchronized关键字实现线程同步。

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

class MyThread implements Runnable
{
Thread thrd;
MyThread(String name){
thrd = new Thread(this,name);//通过在构造器里实例化Thread对象
thrd.start();
}
public void run(){
System.out.println(thrd.getName()+"starting");
try
{
for (int i = 0; i<10 ; i++)
{
Thread.sleep(400);
System.out.println("子线程:"+thrd.getName()+ "计数"+i+"  ");
}
}
catch (InterruptedException exc)
{
System.out.println("InterruptedException");
}
System.out.println("子线程结束!");
}
}


class  ExtendsThread
{
public static void main(String[] args) 
{
int i=0;
System.out.println("主线程开始!!");
MyThread mt1 = new MyThread("Child #1");
MyThread mt2 = new MyThread("Child #2");
MyThread mt3 = new MyThread("Child #3");
do
{
try
{
Thread.sleep(100);
System.out.print("主线程:"+ "计数"+(i++)+"  ");
}
catch (InterruptedException exc)
{
System.out.println("InterruptedException");
}
}while(mt1.thrd.isAlive()||mt2.thrd.isAlive()||mt3.thrd.isAlive()); //这里把判断条件设置为子线程还在运行
System.out.println("主线程结束!");
}

}


1 如果在多线程里对某个方法加锁(也就是保持某个线程对资源的持续占用)可以在public static void run()里添加 synchronized(){}方法来使得对某个方法调用的同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值