zoukankan      html  css  js  c++  java
  • Java并发实现一(并发的实现之Thread和Runnable的区别)

    package com.subject01;
    
    public class ThreadOrRunnable  {
    
    	public static void main(String[] args) {
    		System.out.println("Thread输出内容:");
    		// 三个线程为三个不同的对象资源,资源无法得到共享。由于不是同一个对象,所以也不会存在线程安全的问题
    		new ThreadDemo().start();
    		new ThreadDemo().start();
    		new ThreadDemo().start();
    		
    		System.out.println("Runnable接口实现输出内容:");
    		//三个线程共同使用同一个对象资源,可以达到资源共享的。但同时也会存在线程不安全的问题,所以对象资源需要添加同步设置
    		RunnableDemo runDemo = new RunnableDemo();
    		new Thread(runDemo).start();
    		new Thread(runDemo).start();
    		new Thread(runDemo).start();
    	}
    	
    	
    }
    class ThreadDemo extends Thread{
    	private int ticket = 5 ;
    	@Override
    	public void run() {
    		while(ticket>0){
    			System.out.println("ticket="+ticket--);
    		}
    	}
    }
    
    class RunnableDemo implements Runnable{
    
    	private int ticket = 5 ;
    	@Override
    	public void run() {
    		// 存在线程不安全,需要添加同步设置
    		synchronized (this) {
    			while(ticket>0){
    				try {
    					Thread.sleep(1000L);
    				} catch (InterruptedException e) {
    					e.printStackTrace();
    				}
    				System.err.println("ticket="+ticket--);
    			}
    		}
    		
    	}
    	
    }
    

    http://blog.csdn.net/ns_code/article/details/17161237  

  • 相关阅读:
    pikachu-xss(1)
    eNSP上配置RIPv2的认证
    eNSP模拟器OSPF单区域配置
    OSPF与ACL综合实验
    利用单臂路由实现vlan间路由
    理解Hybrid接口的应用
    eNSP下配置Trunk接口实现跨交换机传递数据
    eNSP上VLAN的基础的配置及access接口
    eNSP下利用三层交换机实现VLAN间路由
    NFS网络文件系统
  • 原文地址:https://www.cnblogs.com/xiaotao726/p/5453481.html
Copyright © 2011-2022 走看看