码迷,mamicode.com
首页 > 其他好文 > 详细

深入同步语法

时间:2014-12-01 17:47:01      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:style   io   ar   color   sp   java   on   代码   ad   

1.深入synchronized关键字

class Service{
	public void fun1(){
		synchronized(this){
			try{
				Thread.sleep(3 * 1000);
			}catch(Exception e){
				System.out.println(e);
			}
			System.outprintln(fun1);
		}
	}
	public void fun2(){
		synchronized(this){
			System.out.println(fun2);
		}
	}
}

class MyThread1 implements Runnable{
	private Service service;
	
	public MyThread1(Service service){
		this.service = service;
	}
	
	public void run{
		service.fun1();
	}
}

class MyThread2 implements Runnable{
	private Service service;
	
	public MyThread2(Service service){
		this.service = service;
	}
	
	public void run{
		service.fun2();
	}
}

class Test{
	public static void main(String args[]){
		Service service = new Service();
		Thread1 t1 = new Thread1(new MyThread1(service));
		Thread2 t2 = new Thread2(new MyThread2(service));
	}
}


2.同步方法

class Service{
	//同步方法只需要把synchronized放在返回值(void)的前面即可
	public synchronized void fun1(){
		try{
				Thread.sleep(3 * 1000);
		}catch(Exception e){
				System.out.println(e);
		}
		System.outprintln(fun1);
		
	}
	public synchronized void fun2(){
			System.out.println(fun2);
	}
}
同步方法跟同步代码快的功能类似,只不过同步代码快可以指定究竟锁住哪一个对象,而同步方法锁住的就是this

深入同步语法

标签:style   io   ar   color   sp   java   on   代码   ad   

原文地址:http://blog.csdn.net/u011742151/article/details/41647583

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!