zoukankan      html  css  js  c++  java
  • java例程练习(多线程[线程同步问题])

    //线程同步问题
    public class TestThread implements Runnable{
    	Timer timer = new Timer();
    
    	public static void main(String[] args) {
    		TestThread test = new TestThread();
    		Thread t1 = new Thread(test);
    		Thread t2 = new Thread(test);
    		t1.setName("t1");
    		t2.setName("t2");
    		t1.start();
    		t2.start();
    
    	}
    
    	public void run() {
    		timer.add(Thread.currentThread().getName());
    	}
    }
    
    class Timer {
     	private static int num = 0;
    	public void add(String name) {
    
    		num ++;
    		 try {
    			Thread.sleep(1);// ---放大效果
    		} catch(InterruptedException e) {}
    
    		System.out.println//   可能被打断
    			(name + ", 你是第" + num + "个使用timer的线程");
    	}
    }
    
    //以下3个类相同,【运行结果】为第一个类的结果,请注释其他2个相同的类
    //2,3两个类主要介绍synchronized 的使用方式
    
    class Timer {
    	private static int num = 0;
    	public void add(String name) {
    		synchronized(this) { //锁定代码段
    			num ++;
    			 try {
    				Thread.sleep(1);// ---放大效果
    			} catch(InterruptedException e) {}
    
    			System.out.println//   可能被打断
    				(name + ", 你是第" + num + "个使用timer的线程");
    		}
    	}
    }
    
    class Timer {
     	private static int num = 0;
    	public synchronized void add(String name) {//锁定过程
    
    		num ++;
    		 try {
    			Thread.sleep(1);// ---放大效果
    		} catch(InterruptedException e) {}
    
    		System.out.println//   可能被打断
    			(name + ", 你是第" + num + "个使用timer的线程");
    	}
    }
    
    
    /*
     运行结果
     --------------------Configuration: <Default>--------------------
    t1, 你是第2个使用timer的线程
    t2, 你是第2个使用timer的线程
    
    Process completed.
    
     */

  • 相关阅读:
    关闭编辑easyui datagrid table
    sql 保留两位小数+四舍五入
    easyui DataGrid 工具类之 util js
    easyui DataGrid 工具类之 后台生成列
    easyui DataGrid 工具类之 WorkbookUtil class
    easyui DataGrid 工具类之 TableUtil class
    easyui DataGrid 工具类之 Utils class
    easyui DataGrid 工具类之 列属性class
    oracle 卸载
    “云时代架构”经典文章阅读感想七
  • 原文地址:https://www.cnblogs.com/wjchang/p/3671691.html
Copyright © 2011-2022 走看看