Java多线程(一)——常用的方法

一、线程中常用的非静态方法

  • start()

功能:启动一个新线程,在新的线程运行run方法中的代码

start方法只是让线程进入就绪,里面代码不一定立刻运行(CPU的时间片还没分给它)。每个线程对象的start方法只能调用一次,如果调用了多次就会出现IllegalThreadStateException

  • run()

功能:新线程启动后会调用的方法

如果构造Thread对象时传递了Runnable参数,则线程启动会调用Runnable中的run方法,否则默认不执行任何操作,但可以创建Thread的子类对象,来覆盖默认行为。

  • join()

功能:等待线程运行结束

  • join(long n)

功能:等待线程运行结束,最多等待n毫秒。用于线程通信时

  • getId()

功能:获取线程长整型的id

id唯一

  • getName()

功能:获取线程名

  • setName(String)

功能:修改线程名

  • getPriority()

获取线程优先级

  • setPriority(int)

功能:修改线程优先级

java中规定线程优先级是1~10的整数,较大的优先级能提高该线程被CPU调度的几率

  • getState()

功能:获取线程状态

java中线程状态是用6个enum表示,分别为RUNNABLE,BOLOCKED,WAITING,TIMED_WATING,TERMINATED

  • isInterrupted()

功能:判断是否被打断

不会被清除,打断标记

  • isAlive()

功能:判断线程是否存活(还没有运行完毕)

  • interrupt()

功能:打断线程

如果被打断线程正在sleep,wait,join会导致被打断线程抛出InterrupteException,并清除打断标记,如果打断的正在运行的线程,则会设置打断标记,park的线程被打断,也会设置打断标记。

二、线程中常用的静态方法

  • interrupted()

static 判断当前线程是否被打断

功能:会清除打断标记

  • currentThread()

static 获取当前正在执行的线程

  • sleep(long n)

功能:static 让当前执行的线程休眠n毫秒,休眠时间让出cpu的时间片给其他线程

  • yield()

功能:static ,提示线程调度器让出当前线程对CPU的使用

主要是为了测试和调试

  • 24
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 24
    评论
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值