`

Java线程学习笔记(三):线程中常用方法汇总

    博客分类:
  • Java
阅读更多

线程的执行原理



 

分析:

  1. 时间片:即CPU分配给各个程序的时间,每一个进程都被分配一个时间段,称作它的时间片,即该进程允许运行的时间。由于时间片很短(ms级),所以使各个程序从表面上看是同时进行的。
  2. CPU把一度时间分成很多个时间片,它在一个时间片内只能执行一个进程,然后换下一个时间片,执行下一个进程。

Java线程运行状态与方法调用图:



 

一、Java线程中常用方法

方法 描述  详解
对象.start()

表示线程处于活动的,可以抢时间片状态,而不是开始运行。

 略
对象.interrupt() 表示将线程对象中断。 分析 
对象.stop() 表示将线程直接终止。(已过时,不安全;如果有正在打开的资源未关闭,而线程直接被关闭)  略 
Thread.sleep()  表示该语句写到哪个线程中,当前线程睡眠。该方法有两个重载的形式,分别是sleep(long)和sleep(long,int) 略 

 

二、线程控制基本方法

 方法  描述 详解 
isAlive() 测试线程是否处于活动状态 
getPriority() 更改线程的优先级 分析
setPriority() 返回线程的优先级  分析 
Thread.sleep()  将当前线程睡眠,可指定毫秒数或者毫秒及纳秒数 略 
join()  调用某线程的该方法,将当前线程与该线程”合并“,即等待该线程结束,在恢复当前线程的运行。 分析 
yield()   让出CPU,当前线程进入就绪队列等待调度。只要在适当的位置调用即可。 略 
wait()  当前线程进入对象的wait pool。  分析 

notify()

/notifyAll() 

 唤醒对象的wait pool中的一个/所有等待线程。 分析 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 说明:后续章节将针对不同方法分别进行详细整理。 

 

注:本文源自互联网,经过查阅网上资料整理而成,如涉及到他人整理的成果,在此表示感谢。由于涉及到的参考文章比较多,在此就不再一一列举。

本文是目前个人理解的结果,仅供参考,如后续发现问题,本人会进行相应的更正,也欢迎各位对Java线程感兴趣的朋友或者前辈进行指正。

  • 大小: 7.3 KB
  • 大小: 15.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics