多线程的使用(一)

创建多线程的五种方法

一、第一种创建线程方法

1、继承Thread类

class 类名 extends Thread {

代码....

}

2、重写run方法(run中的逻辑,就是这个线程要执行的工作,直接调用run方法不会创建新的线程)

@Override

public void run() {

代码.....

}

3、创建类的对象,并调用start方法(调用start方法时,才创建了一个新的线程,新的线程执行run里面的逻辑,run里面的逻辑执行完,线程就结束了)

类名 对象名 = new 类名();

对象名.start();

二、第二种创建线程方法

1、实现Runnable接口

class 类名 implements Runnable {

代码....

}

2、重写run方法(run中的逻辑,就是这个线程要执行的工作)

@Override

public void run() {

代码.....

}

3、创建对象,并调用start方法(调用start方法时,才创建了一个新的线程,新的线程执行run里面的逻辑,run里面的逻辑执行完,线程就结束了)

类名 对象名1 = new 类名();

Thread 对象名2 = new Thread(对象名1);

对象名2.start();

三、使用匿名内部类创建线程方法(Thread类版)

1、创建匿名内部类并重写run方法

Thread 对象名 = new Thread() {

@Override

public void run() {

代码.....

}

};

2、调用start方法

对象名.start();

四、使用匿名内部类创建线程方法(Runnable接口版)

1、创建匿名内部类并重写run方法

Thread 对象名 = new Thread(new Runnable( ) {

@Override

public void run() {

代码.....

}

});

2、调用start方法

对象名.start();

五、使用Lambda表达式创建线程方法

1、使用Lambda表达式创建对象

Thread 对象名 = new Thread( ( ) -> {

代码.....

});

2、调用start方法

对象名.start();

线程起别名

创建线程时,给线程起名字

我们可以在创建线程的时候,给线程起一个名字,目的就是为了程序员方便调试

如果不手动起名字,JVM会按照Thread-0、Thread-1.....这样的方式起名字

Thread 对象名 = new Thread(Runnable对象,字符串名字);

线程阻塞(线程等待)

使用join方法达到线程阻塞(线程等待)的效果

使主线程阻塞/等待 调用join的线程执行结束后 主线程才能再继续执行

写法:线程对象名.join();

写法:线程对象名.join(毫秒); //只线程阻塞x毫秒(1000毫秒等于1秒)

获取当前线程的所对应的Thread对象

currentThread方法是Thread的静态方法,通过这个方法可以拿到当前线程的Thread对象

写法:Thread.currentThread();

休眠当前线程

指定线程的休眠时间,让线程阻塞一会(休息一会),单位是毫秒,1000毫秒等于1秒

写法:Thread.sleep(毫秒);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值