A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾观富 中级黑马   /  2012-11-16 14:03  /  998 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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()方法未执行完,线程进入阻塞状态。

四、sleep方法

Thread的静态方法

public static void sleep(long millis)throws InterruptedException

必须对异常进行捕捉

Thread.currentThread(); //拿到当前线程

五、线程控制基本方法

isAlive() //判断线程是否还“活着”,即线程是否还未终止

getPriority() //获得线程的优先级数值

setPriority() //设置线程的优先级指数

Thread.sleep() //静态方法,将当前线程睡眠指定毫秒数

join() //调用某线程的该方法,将当前线程与该线程合并,

//即等待该线程结束,再回复当前线程的运行。

yield() //让出CPU,当前线程进入就绪状态等待调度

interrupt() //中断线程

wait() //当前线程进入对象的wait pool

notify()/all //唤醒对象的wait pool中的一个/所有等待线程



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马