多线程—第四篇(Thread中的sleep()、run()区别和sleep()、wait()区别)

本文介绍了Java多线程中`sleep()`、`run()`、`start()`和`wait()`的区别。`start()`用于启动新线程执行`run()`,而直接调用`run()`则在当前线程执行。`sleep()`使线程暂停指定时间,不释放锁,而`wait()`使线程等待,释放同步监视器。
摘要由CSDN通过智能技术生成

1、sleep()、run()说明

  • start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法。start()不能被重复调用。
  • run() : run()就和普通的成员方法一样,可以被重复调用。单独调用run()的话,会在当前线程中执行run(),而并不会启动新线程!
class MyThread extends Thread{
   
	@Override  
    public void run(){
   
        ...
    } 
};

MyThread mythread = new MyThread();
mythread.start(); //会启动一个新线程,并在新线程中运行run()方法。
//而mythread.run()则会直接在当前线程中运行run()方法,并不会启动一个新线程来运行run()。

1.1 代码示例

class MyThread extends Thread {
     
	public MyThread(String name) {
   
    	super(name);
    }
 	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值