zoukankan      html  css  js  c++  java
  • 2018.3.3 多线程中继承Thread 和实现Runnable接口 的比较(通过售票案例来分析)

    多线程中继承Thread 和实现Runnable接口 的比较(通过售票案例来分析)


    通过Thread来实现

    Test.java

    package com.lanqiao.demo4;
    
    public class Test {
    	public static void main(String[] args) {
    		MyThread t1 = new MyThread("张三");
    		
    		MyThread t2 = new MyThread("李四");
    		
    		t1.start();
    		t2.start();
    	}
    }
    
    

    MyThread.java

    
    package com.lanqiao.demo4;
    
    public class MyThread extends Thread {
    	private int ticket = 10;
    
    	public MyThread(String name) {
    		super(name);
    		// TODO Auto-generated constructor stub
    	}
    
    	@Override
    	public void run() {
    		while (true) {
    			if (ticket > 0) {
    				System.out.println(this.getName() + "卖了一张票" + "还剩下"
    						+ (--ticket) + "张票");
    			}
    		}
    	}
    }
    
    
    


    Runnable来实现

    MyRunable.java

    package com.lanqiao.demo5;
    
    public class MyRunable implements Runnable {
    	private int ticket = 10;
    
    	@Override
    	public void run() {
    		while (true) {
    			if (ticket > 0) {
    				System.out.println(Thread.currentThread().getName() + "卖了一张票"
    						+ "还剩下" + (--ticket) + "张票");
    			}
    		}
    	}
    
    }
    
    
    package com.lanqiao.demo5;
    
    public class Test {
    	public static void main(String[] args) {
                    //创建子进程
    		Thread tr1 = new Thread(new MyRunable());
                    //启动进程
    		tr1.start();
    
                    Thread tr2 = new Thread(new MyRunable());
    		tr2.start();
    	}
    }
    
    

    通过比较分析Thread没有实现资源共享(结果显示一共卖了20张,但是我实际只有10张),买票需要实现数据共享,因为我买了一张别人在买的时候会显示少了一张而不是单独的现实少了。在Runnable的例子中,可以这样实现。结果显示与预定的结果一样

  • 相关阅读:
    降维-基于RDD的API
    GraphX编程指南
    GPU自动调度卷积层
    TVM部署预定义模型
    做个普通人,就挺好的
    Spring 的 @Primary 注解
    微信公众平台消息接口开发(30)大众点评商户信息团购及优惠券查询
    大众点评API获取某坐标周边酒店信息
    Sharding-jdbc 读写分离(三)- springboot+mybatis+Hikari
    Sharding-jdbc 分库分表专题内容(二)springboot+mybatis+Hikari
  • 原文地址:https://www.cnblogs.com/qichunlin/p/8497163.html
Copyright © 2011-2022 走看看