线程的实现

一、在Java中,线程的实现有2种

    1.继承Thread类

    2.实现Runable接口


二、Thread类

    Thread类是在java.lang包中定义的,继承Thread类必须重写run()

    定义格式:class className extends Thread{

            public void run(){}

         }    

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public static void main(String[] args) {
         
        MyThread t1 = new MyThread("A");
        MyThread t2 = new MyThread("B");
         
//      t1.run();
//      t2.run();
         
        //线程的启动是通过start()
        t1.start();
        t2.start();
         
    }
     
public class MyThread extends Thread{
     
    private String name; //标识线程的名称
     
    public MyThread(String name){
        this.name = name;
    }
     
    //在run()中为了能看出来,使用一个for循环进行打印输出
    public void run(){
         
        for(int i=0; i<10; i++){
            System.out.println(name+":"+i);
        }
         
    }
}


三、Runnable接口 

    Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。

    设计该接口的目的是为希望在活动时执行代码的对象提供一个公共协议。例如,Thread 类实现了 Runnable。激活的意思是说某个线程已启动并且尚未停止。

    Thread类是在java.lang包中定义的,继承Thread类必须重写run()

    Runnable 为非 Thread 子类的类提供了一种激活方式。通过实例化某个 Thread 实例并将自身作为运行目标,就可以运行实现 Runnable 的类而无需创建 Thread 的子类。大多数情况下,如果只想重写 run() 方法,而不重写其他 Thread方法,那么应使用 Runnable 接口。这很重要,因为除非程序员打算修改或增强类的基本行为,否则不应为该类创建子类。

    

    定义格式:class className implements Runnable{

            public void run(){}

         } 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public static void main(String[] args) {
         
        MyRunable r1 = new MyRunable("A");
        MyRunable r2 = new MyRunable("B");
         
        Thread t1 = new Thread(r1);
        Thread t2 = new Thread(r2);
         
        t1.start();
        t2.start();
         
    }
     
public class MyRunable implements Runnable{
     
    private String name;
     
    public MyRunable(String name){
        this.name = name;
    }
     
    public void run(){
        for(int i=0; i<1000; i++){
            System.out.println(name+":"+i);
        }
    }
     
}


本文转自yeleven 51CTO博客,原文链接:http://blog.51cto.com/11317783/1775214

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值