Java多线程学习总结(一)

开发 后端
本文是Java多线程总结的第一部分,讲到了线程的基本概念、线程的创建和启动、线程状态装换、线程控制基本方法、sleep方法等五个方面的内容。

一、线程的基本概念
简单的说:线程就是一个程序里不同的执行路径,在同一个时间点上cpu只会有一个线程在执行,Java里的多线程是通过java.lang.Thread类来实现的,每个线程都拥有自己独立的方法栈空间。

二、java线程的创建和启动
***种
 定义线程类实现Runnable接口:
 Thread myThread = new Thread(target) //target为Runnable接口类型
 Runnable中只有一个方法:
 public void run();用以定义线程运行体
第二种
 可以定义一个Thread的子类并重写其run方法:
  clas MyThread extends Thread{
   public void run(){}
  }
线程类必须通过执行Thread的start()方法启动一个新的线程,如果调用run()方法是属于方法的调用,不会启动一个新的线程,推荐使用***种方式创建线程,使用接口较为灵活。

三、线程状态装换
调用线程start()方法时,线程进入就绪状态,Cpu分配时间片,线程进入运行状态,时间片结束,run()方法未执行完,线程进入阻塞状态。

四、线程控制基本方法
 isAlive() //判断线程是否还“活着”,即线程是否还未终止
 getPriority() //获得线程的优先级数值
 setPriority() //设置线程的优先级指数
 Thread.sleep() //静态方法,将当前线程睡眠指定毫秒数
 join()  //调用某线程的该方法,将当前线程与该线程合并,
   //即等待该线程结束,再回复当前线程的运行。
 yield()  //让出CPU,当前线程进入就绪状态等待调度
 interrupt() //中断线程
 wait()  //当前线程进入对象的wait pool
 notify()/all //唤醒对象的wait pool中的一个/所有等待线程

五、sleep方法
 Thread的静态方法
 public static void sleep(long millis)throws InterruptedException
 必须对异常进行捕捉
 Thread.currentThread();  //拿到当前线程

【编辑推荐】

  1. 20个开发人员非常有用的Java功能代码
  2. 走进Java 7中的模块系统
  3. JavaFX 1.2 已经发布 主要新功能一览
  4. 2009年十大Java技术解决方案
  5. 2008最值得学习的五种JAVA技术
责任编辑:仲衡 来源: 小舒的Java世界
相关推荐

2009-06-11 10:48:53

Java多线程

2017-01-19 10:24:38

Java多线程问题

2015-12-22 10:39:52

Java多线程问题

2010-03-16 19:29:26

Java多线程操作

2010-03-17 15:45:06

Java多线程求和

2012-05-18 10:36:20

CC++编程

2010-07-26 13:27:19

Perl多线程

2021-12-28 09:10:55

Java线程状态

2021-12-14 08:28:08

Java多线程线程

2010-02-05 15:30:54

C++多线程测试

2009-03-12 10:52:43

Java线程多线程

2013-07-16 10:12:14

iOS多线程多线程概念多线程入门

2021-12-26 18:22:30

Java线程多线程

2009-06-29 17:49:47

Java多线程

2011-06-22 13:47:16

Java多线程

2009-10-23 09:26:09

VB.NET多线程

2015-09-14 09:07:15

Java多线程

2011-08-18 17:07:23

IOS开发多线程NSInvocatio

2009-08-28 16:43:57

C#多线程学习

2009-08-03 11:07:18

Scala Actor
点赞
收藏

51CTO技术栈公众号