java创建线程两种方法
2015-05-06 22:12
459 查看
/* 进程:是一个正在执行中的程序 每一个进程执行都有执行顺序,该顺序是一个执行路径,或叫控制单元 线程:就是进程中一个独立的控制单元 线程在控制着进程的执行 一个进程至少包含一个线程 Java VM 启动时会有个进程java.exe 该进程中至少有一个线程复制java程序的执行,这个线程运行的代码存在于main方法中, 该线程称之为主线程 JVM启动不止一个线程,还有复制垃圾回收机制的线程 创建线程:(1)继承Thread类;复写run方法;创建对象,调用start方法 (2)实现Runnable接口,复写run方法,建立线程对象,传递Runnable子类对象给Thread类构造函数 */ package pack; public class Main { public static void sys(Object obj) { System.out.println(obj); } public static void main(String[] args) { //method1(); //method2(); //继承Thread方法创建线程,实例:4窗口卖票 method3();//实现Runnable方法创建线程,实例:4窗口卖票 } public static void method1() { Demo d1 = new Demo("one---"); //创建一个线程 Demo d2 = new Demo("two---"); //创建一个线程 d1.start(); d2.start(); for(int i=0;i<20;i++) sys("main run"); } public static void method2() { Ticket t1 = new Ticket(); Ticket t2 = new Ticket(); Ticket t3 = new Ticket(); Ticket t4 = new Ticket(); t1.start(); t2.start(); t3.start(); t4.start(); } public static void method3() { TicketDemo t = new TicketDemo(); 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(); } } class Demo extends Thread { Demo(String name) { super(name); //父类定义了getName方法,实现自定义线程名称,默认为Thread0,1 } public void run() { for(int i=0;i<20;i++) //Main.sys(this.getName()+"demo run"); //上下两句无差别,currentThread获取当前线程对象,即this Main.sys(Thread.currentThread().getName()+"demo run"); } } class Ticket extends Thread { static int tickets = 200; //一共200张票,一定要static,4窗口公用200张 public void run() { while(true) { if(tickets>0) Main.sys(this.getName()+"---"+tickets--); } } } class TicketDemo implements Runnable { int tickets = 100; public void run() { while(true) { if(tickets>0) Main.sys(Thread.currentThread().getName()+"---"+tickets--); } } }
相关文章推荐
- Java创建线程的两种方法
- 开发笔记:创建Java线程的两种方法
- 创建Java线程的两种方法
- Java创建线程的两种方法
- Java创建线程的两种方法
- java线程的两种创建方法
- Java创建线程的两种方法
- java学习日记(5)——创建线程的两种基本方法
- JAVA中创建线程对象的两种方法:继承Thread和实现Runable
- Java 创建线程的两种方法
- JAVA中创建线程对象的两种方法
- Java创建线程的两种方法
- java中创建线程的两种方法及其区别
- java中创建线程的两种方法及其区别
- java 创建线程的两种方法
- 黑马程序员_详解Java中线程的两种创建方法
- java---------创建线程的两种方法
- Java创建线程的常用的两种方法
- Java创建线程的两种方法
- Java线程创建的两种方法