你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Java专栏
Java多线程学习总结
 
 一、线程的基本概念

  简单的说:线程就是一个程序里不同的执行路径,在同一个时间点上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(); //拿到当前线程

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089