线程什么意思?线程基本用法

是什么意思(线程基本用法)()基本方法列表:

线程什么意思?线程基本用法

文章插图
创建线程
创建线程的三种方式:
继承类
通过继承类创建线程的步骤:
定义该类的子类并覆盖该类的run方法 。run方法的方法体代表线程要完成的任务,所以run方法称为 。创建子类的实例会创建一个线程对象 。调用线程对象的start方法启动线程 。
线程什么意思?线程基本用法

文章插图
实现接口
实现接口优于继承类,因为:
通过实现接口创建线程的步骤:
定义接口的实现类,重写接口的run方法 。run方法的方法体也是线程的线程执行体 。创建实现类的实例,并以此实例为对象创建对象,即真正的线程对象 。调用线程对象的start方法启动线程 。
线程什么意思?线程基本用法

文章插图
实现接口
继承类和实现接口这两种创建线程的方式都没有返回值 。因此,线程执行后,无法获取执行结果 。但是如果你期望执行结果呢?
为了解决这个问题,Java1.5,提供了接口和接口,通过它可以在线程执行结束后返回执行结果 。
通过实现接口创建线程的步骤:
创建接口的实现类,实现调用方法 。call 方法将充当线程执行体并具有返回值 。创建实现类的实例,用封装了对象调用方法返回值的类来包装对象 。使用该对象作为对象创建并启动一个新线程 。线程执行结束后调用对象的get方法获取返回值 。
线程什么意思?线程基本用法

文章插图
run方法和run方法有什么区别?可以直接调用类的run方法还是线程休眠?
使用 .sleep 方法使当前正在执行的线程进入休眠状态 。
使用 .sleep 需要传递一个整数值,表示线程将休眠的毫秒数 。
.sleep 方法可能会抛出异常,因为异常不能跨线程传播回主线程??,必须在本地处理 。线程中抛出的其他异常也需要在本地处理 。
线程什么意思?线程基本用法

文章插图
线程礼貌
调用
.yield 方法声明当前线程已经完成了生命周期中最重要的部分,可以切换到其他线程执行 。
这个方法只是给线程调度器的一个建议,也只是建议其他具有相同优先级的线程可以运行 。
线程什么意思?线程基本用法

文章插图
终止线程
中的stop方法
存在缺陷且已弃用 。
使用 .stop 停止线程会导致它解锁所有锁定的监视器(因为未经检查的异常会向上传播,这是自然的结果) 。如果以前受这些监视器保护的任何对象处于不一致状态,则损坏的对象将对其他线程可见,从而可能导致任意行为 。.stop 的许多用法应该由只修改某些变量以指示目标线程应该停止运行的代码替换 。目标线程应该定期检查这个变量,如果变量表明它想停止运行,它应该从它的run方法中有序地返回 。如果目标线程等待很长时间(例如,在条件变量上),则应使用中断方法来中断等待 。
当一个线程正在运行时,另一个线程可以通过该方法直接中断其运行状态 。
线程什么意思?线程基本用法

文章插图
如果一个线程的run方法执行了一个无限循环并且没有执行sleep等会抛出的操作,那么调用线程的方法不会导致线程提前结束 。
但是调用方法会设置线程的中断标志,调用方法会返回true 。因此,可以在循环体中使用该方法判断线程是否处于中断状态,从而提前结束线程 。