您的位置:首页 > 编程语言 > Java开发

Java线程的学习笔记

2014-12-01 16:07 141 查看
Java线程的学习笔记:

一、使用Thread创建线程的方法步骤

(1)创建一个新的线程类,实现Thread类;

(2)定义一个线程类的对象,用new关键字完成创建;

(3)利用线程对象启动线程的start()方法;

(4)调用线程的run()方法;

class NewThread extends Thread{

public NewThread(String sName){ //Thread类有Name属性,通过构造函数可传递

super(sName);

}

public void run(){

System.out.println("这是继承Thread类实现的线程。");

}

}

public class UseThread{

public static void main(String args[]){

NewThread ThreadType=new NewThread("继承Thread");

ThreadType.start();

}

}

二:实现Runnable接口

(1)、定义一个实现Runnable接口的类;

(2)、创建一个Runnable的实例,使用new关键字完成;Runnable pRunnable=new NewThread();

(3)、通过实例创建一个Thread类的实例;

(4)、启动start()方法;

class NewThread implements Runnable{

public void run(){ //Runnable要定义成员变量,然后设置线程的名称

System.out.println("这是一个实现Runnable接口的线程。");

}

}

public class UseThread{

public static void main(String args[]){

Runnable nt = new NewThread();

Thread pThread = new Thread(nt);

pThread.start();

}

}

二:线程的状态

1、创建状态,调用new方法创建一个线程对象后,但是没有调用strat()方法前的状态;

2、可运行状态,当线程执行start()方法之后,线程就转换为可运行状态。此状态说明线程具备了可以运行的条件,但是线程不一定处于运行状态。在单处理器中处理多线程的时候,一个时间点上只能运行一个线程,系统通过调度机制实现在宏观上实现运行线程共享处理器,因此一个线程是否在运行除了处于Runnable状态外,线程的优先级和调度也是因素。

3、不可运行状态,此状态是由于线程被挂起或者发生阻塞,例如对一个线程调用suspend()方法或者wait()方法就可以进入阻塞状态。

4、退出状态,一个线程可以从任何状态中调用stop()方法进入退出状态,线程一旦进入退出状态就不存在了。

三、线程的调度,设置优先级setPriority(int newPriority)

四、线程同步:通过关键字synchonized进行线程的同步,线程同步会降低执行效率,有同步代码块和同步函数两种方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: