线程的两种创建方式

转载 2015年11月19日 14:38:59
继承Thread类:
/** 
 * 方法一: 
 *  继承Thread类创建线程 
 * @author LiMin 
 * 
 */  
public class CreateThread extends Thread {  
    private String name;  
    public CreateThread(){  
          
    }  
    public CreateThread(String name){  
        /*this.name=name;*/  
        //调用父类的给线程命名的方法  
        super(name);  
          
    }  
    public void run(){  
        for(int x =0;x<60;x++){  
            /*System.out.println(this.name+ " run -----"+ x);*/  
            /*System.out.println(this.getName()+ " run -----"+ x);*/  
            //使用Thread的静态方法获取线程名称Thread.currentThread().getName()是标准通用方式   
            /*System.out.println(Thread.currentThread().getName()+ " run -----"+ x);*/  
            System.out.println((Thread.currentThread()==this)+"....."+this.getName()+ " run -----"+ x);  
        }  
      
    }  
}  

调用:

public class ThreadTest {  
  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
      
        CreateThread t1 = new CreateThread("one----");  
        CreateThread t2= new CreateThread("two+++++");  
          
        t1.start();  
        t2.start();  
          
          
        for(int x =0;x<60;x++){  
            System.out.println("main-----"+ x);  
        }  
    }  
  
}  


实现Runnable接口:

public class Ticket2 implements Runnable{ //extends Thread{   
      
  
    //如果是静态的话,所有的线程会共享这100张票  
    /*private  static int  ticket =100;*/  
  
    //如果不是静态的话,每一个线程对象都会创建这个ticket对象,也即每个线程拥有100张票卖。  
    //这时候,如果还是采用继承Thread类的方法就不行了,需要使用实现Runnable接口创建线程  
    private  int  ticket =1000;  
      
      
    Object obj= new Object();     
    public void run() {  
          
        //在这里声明的对象是无效的  
        /*Object obj= new Object(); */  
          
        while(true){  
              
            synchronized (obj) {  
                if(ticket>0){      
                      
                    try {  
                        Thread.sleep(10);  
                          
                    } catch (InterruptedException e) {  
                          
                        e.printStackTrace();  
                    }  
                    System.out.println(Thread.currentThread().getName()+".....sale : "+ ticket--);  
                      
                }  
            }  
              
        }  
          
    }   
  
      
  
}  

调用:

public class TicketDemo2 {  
  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
          
        Ticket2 t = new Ticket2();  
          
        Thread t1 = new Thread(t);  
        Thread t2 = new Thread(t);  
        Thread t3 = new Thread(t);  
        Thread t4 = new Thread(t);  
          
        t1.start();  
        t2.start();  
        t3.start();  
        t4.start();       
          
  
    }  
  
}  




java用线程两种方式

  • 2013年04月17日 19:43
  • 105KB
  • 下载

Java线程的两种创建方式及优劣比较

1、通过实现Runnable接口线程创建 (1).定义一个类实现Runnable接口,重写接口中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。 (2).创建实现Runnable...

创建线程有两种方式:

简单介绍   创建线程有两种方式:继承Thread或实现Runnable.Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都...

线程创建的两种方式02--Java基础068

package com.sqf.thread; //需求: 模拟3个窗口同时在售50张 票 。 public class SaleTicket1 implements Runnable{ i...

线程的两种创建方式及优劣比较

java多线程总结一: 线程的两种创建方式及优劣比较 作者: touch_2011 (1 篇文章) 日期: 十一月 16, 2011 在 11:21 上午   1、通过实现R...
  • bjrqzp
  • bjrqzp
  • 2011年12月01日 23:18
  • 187

黑马程序员:创建线程的两种方式

---------------------- android培训、java培训、期待与您交流! ---------------------- 创建线程的第一种方法:继承Thread类 步骤: 1...
  • shazilv
  • shazilv
  • 2012年02月25日 00:32
  • 480

java多线程学习(一)之创建线程的两种方式

1、首先来了解一下线程和进程的概念    进程的概念:    进程是操作系统资源管理的最小单位,进程是一个动态的实体,他是程序的一次执行过程。也叫作一个控制单元    线程的概念:    线程是进程中...

java多线程总结一:线程的两种创建方式及优劣比较

1、通过实现Runnable接口线程创建 (1).定义一个类实现Runnable接口,重写接口中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。 (2).创建Runnable接口...
  • li_yaya
  • li_yaya
  • 2012年02月14日 10:28
  • 275

【java并发】传统线程技术中创建线程的两种方式

传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法;二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread。这两种方式...
  • eson_15
  • eson_15
  • 2016年05月21日 17:02
  • 5436
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:线程的两种创建方式
举报原因:
原因补充:

(最多只允许输入30个字)