java多线程编程学习笔记---线程的创建

来源:互联网 发布:aisino开票软件下载 编辑:程序博客网 时间:2024/04/26 22:10

线程也是一种对象,并不是什么对象都能成为线程的,只有那些继承了Runnable接口的类的对象才能成为线程对象。因此,实现线程的对象的方法就有两种,其一是继承Tread类(Tread类已经实现了Runnable接口),另一种就是直接实现Runnable接口。

线程的创建方式:

1、Thread

Tread类常用的方法包括start()interrupt()、join()run()方法等。start()方法用于启动线程,而run()方法为线程的执行代码。

Tread的常用构造函数有四个:

Thread thread=new Thread();

Thread thread=new Thread(Runnabl simple);

Thread thread=new Thread(“Thread name”);

Thread thread=new Thread(Runnabl simple,“Thread name”);

Simple 是实现了Runnable 接口的类实例化对象

1.1 继承Thread

 这个类实现了Runnable接口,Tread类具有创建和运行线程的必要框架,使用start()方法启动线程。启动线程后,将该线程对象放在可运行线程队列里面,等待被虚拟机调用。

public class Simple extends Thread{
....省略的代码
public void run(){ //定义自己的run()函数。
...
}

  

2、Runnable接口

Runnable接口只有一个run()方法,实现了该接口的类的对象才能成为线程对象。

 用这个借口实现线程类对象有一个好处,就是该类在实现了线程的基础上还能继承其他的类。因为在Java中,一个类只能有一个父类。所以,如果,该类用了Thread类做父类,那么就不能再继承其它类了。而用Runnable就不会有这种情况。

public class Simple implements Runnable{

...

public  void  run(){

.....

}

     线程启动代码: 

                 Simple sim=new Simple();          //实现了接口的类的实例化对象
Thread thread=new Thread(sim);      //以上述对象为参数实例化Thread对象。
thread.start();                //启动线程

   注意:

如果是以Runnable接口实现线程类对象的话:

1) 那么使用方法getName()获取线程的名称的时候,就需要使用下面的代码:

Tread.currentThread().getName();

2)调用sleep()方法的时候呢:

Tread.currentThread().sleep(int);





0 0
原创粉丝点击