JAVA多线程编程

本文介绍了Java多线程编程的基础知识,包括两种实现方式:继承Thread类和实现Runnable接口。通过两个简单示例,展示了如何创建并启动线程,实现资源共享与同步互斥,有效减少系统开销。

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

     以前一直没接触过JAVA多线程编程,这几天学习下来感觉还蛮简单,可以轻松实现同步与互斥等问题,同时实现资源共享,减少了系统开销。

实现有2种方法:继承Thread类、实现runnable接口。而实际上,thread类也是实现了runnable接口,比如里面新添了name等属性。建议一般直接继承runnable接口。

以下是实现的2个简单的例子:

【1】、用第一种方法:

class MyThread extends Thread{
 private int time ;
 public MyThread(String name,int time){
  super(name) ; // 设置线程名称
  this.time = time ; // 设置休眠时间
 }
 public void run(){
  try{
   Thread.sleep(this.time) ; // 休眠指定的时间
  }catch(InterruptedException e){
   e.printStackTrace() ;
  }
  System.out.println(Thread.currentThread().getName() + "线程,休眠"
   + this.time + "毫秒。") ;
 }
};
public class ExecDemo01{
 public static void main(String args[]){
  MyThread mt1 = new MyThread("线程A",10000) ; // 定义线程对象,指定休眠时间
  MyThread mt2 = new MyThread("线程B",20000) ; // 定义线程对象,指定休眠时间
  MyThread mt3 = new MyThread("线程C",30000) ; // 定义线程对象,指定休眠时间
  mt1.start() ; // 启动线程
  mt2.start() ; // 启动线程
  mt3.start() ; // 启动线程
 }
};

【2】、用第二种方法

class MyThread implements Runnable{
 private String name ;
 private int time ;
 public MyThread(String name,int time){
  this.name = name ; // 设置线程名称
  this.time = time ; // 设置休眠时间
 }
 public void run(){
  try{
   Thread.sleep(this.time) ; // 休眠指定的时间
  }catch(InterruptedException e){
   e.printStackTrace() ;
  }
  System.out.println(this.name + "线程,休眠"
   + this.time + "毫秒。") ;
 }
};
public class ExecDemo02{
 public static void main(String args[]){
  MyThread mt1 = new MyThread("线程A",10000) ; // 定义线程对象,指定休眠时间
  MyThread mt2 = new MyThread("线程B",20000) ; // 定义线程对象,指定休眠时间
  MyThread mt3 = new MyThread("线程C",30000) ; // 定义线程对象,指定休眠时间
  new Thread(mt1).start() ; // 启动线程
  new Thread(mt2).start() ; // 启动线程
  new Thread(mt3).start() ; // 启动线程
 }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值