Java基础07(多线程的常用方法)

10 篇文章 0 订阅

start();启动当前线程;调用当前线程的run()

run():通常需要重写Thread类中的此房啊,将创建的线程执行的操作声明在此方法中

currentThread():是一种静态方法,返回执行当前代码的线程

getName();获取当前线程的名字

setName():设置当前线程的名字

yield():释放当前cpu的执行权

join():在线程中调用线程b的join(),此时线程a进入阻塞状态,一直到线程执行完代码后,线程a才结束阻塞状态

stop():已过时。当执行此方法时,强制结束当前线程;

sleep(long milltime):让当前线程"睡眠"指定的milltime豪秒数,在这个时间内当前线程进入阻塞状态

isAlive():判断当前线程是否存活

线程的优先级

1

MAX_PRIORITY: 10

MIN_PRIORITY:1

NORM_PRIORITY:5 -->默认优先级

        getPriority:获取当前线程的优先级

        setpriority :  设置当前线程的优先级

 1.生命周期:两个概念:状态,相应方法

ps:阻塞只能作为临时状态,不可以作为最终状态,死亡是最终状态;

那么怎么避免线程中这个问题呢,解决线程安全的四种方式:

同步代码块、同步方法、Lock锁、线程池

 synchronized 与 Lock 异同点:在于自动释放同步监视器问题

同步代码块中注意事项:

synchrnoized中任何一个对象都可以充当锁,但是在使用时必须要共用一把锁

在实现Runnable()接口使用线程的话中我们可以考虑使用this作为同步监视器

在继承Thread类来使用线程的话,要谨慎使用this,考虑使用当前类充当同步监视器

同步方法中注意事项:

同步方法中的同步监视器不需要显式的声明

非静态的同步方法 同步监视器就是this 这个方法

静态的同步方法 同步监视器就是类本身

Java程序中使用线程的方式的优先顺序

        Lock---同步代码块(进入方法体,分配了资源)---同步方法(在方法体之外)---

同步的方式:解决了线程安全问题 ----(好处)

操作同步代码块,只能是一个线程参与,其他线程等待,相当还是一个单线程的过程

死锁和死循环需要在代码中避免的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Truswei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值