按订单号(String常量池唯一,即对象唯一)加同步锁

来源:互联网 发布:删除cadbak文件软件 编辑:程序博客网 时间:2024/06/05 12:06
package com.mmhlive.bdp.service;public class TestLock implements Runnable{public static void main(String[] args) {TestLock tl1=new TestLock("th1");TestLock tl2=new TestLock("th2");new Thread(tl1).start();new Thread(tl2).start();}public TestLock(String name) { this.name=name;}private String name;@Overridepublic void run() {  synchronized ("orderId") {System.out.println(name);try {Thread.sleep(10000000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}} 

输出:th1


package com.mmhlive.bdp.service;public class TestLock implements Runnable{public static void main(String[] args) {TestLock tl1=new TestLock("th1");TestLock tl2=new TestLock("th2");new Thread(tl1).start();new Thread(tl2).start();}public TestLock(String name) { this.name=name;}private String name;@Overridepublic void run() { Object obj=new Object();// synchronized ("orderId") { synchronized (new String("orderId")) {System.out.println(name);try {Thread.sleep(10000000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}} 

输出:

th1
th2

0 0
原创粉丝点击