码迷,mamicode.com
首页 > 编程语言 > 详细

Java多线程系列-线程创建

时间:2015-06-02 18:00:51      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:java多线程

1.如何创建多线程?
Java从语言级别实现多线程,因此实现一个多线程程序非常简单。有两种方法可以实现多线程,即继承Thread类和实现Runnable接口。因为Java不支持多继承的原因,建议尽可能通过实现Runnable接口实现多线程。使用Runnable接口实现多线程有如下优点:
1、可以避免由于Java的单继承特性而带来的局限;
2、增强程序的健壮性,代码能够被多个线程共享,代码与数据是独立的;
3、适合多个相同程序代码的线程区处理同一资源的情况。
两者之间的不同:
*Thread也实现了Runnable接口,因此继承自Thread类的子类也实现了Runnable接口
*继承Thread类实现多线程,每一个线程都独占run方法中的代码,而实现Runnable接口实现的多线程共有run方法中的数据和代码。
*继承Thread类实现多线程,因为独占代码所有不会有线程安全的问题,Runnable接口实现的多线程是不安全的。

以多个窗口销售车票的情况为例子,例子和代码引自:http://blog.csdn.net/ns_code/article/details/17161237
以继承Thread类实现多线程的代码:

class MyThread extends Thread{
    private int ticket = 5;
    public void run(){
        for (int i=0;i<10;i++)
        {
            if(ticket > 0){
                System.out.println("ticket = " + ticket--);
            }
        }
    }
}

public class ThreadDemo{
    public static void main(String[] args){
        new MyThread().start();
        new MyThread().start();
        new MyThread().start();
    }
}

以实现Runnable接口实现多线程的代码为:

class MyThread implements Runnable{
    private int ticket = 5;
    public void run(){
        for (int i=0;i<10;i++)
        {
            if(ticket > 0){
                System.out.println("ticket = " + ticket--);
            }
        }
    }
}

public class RunnableDemo{
    public static void main(String[] args){
        MyThread my = new MyThread();
        new Thread(my).start();
        new Thread(my).start();
        new Thread(my).start();
    }
}

Java多线程系列-线程创建

标签:java多线程

原文地址:http://blog.csdn.net/samdy1990/article/details/46331589

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!