1.效果:
2.代码:
//************************************同步语句块-锁**********************************public class MultipleThreadSynchronizedStudy { public static void main(String[] args) { ShareObjects data=new ShareObjects();//共享同一个数据data SynchronizeThread thread1=new SynchronizeThread("Thread1",data); SynchronizeThread thread2=new SynchronizeThread("Thread2",data); thread1.start(); thread2.start(); }}class ShareObjects{ public String shareObject=""; public String getShareObject() { return shareObject; } public void setShareObject(String shareObject) { this.shareObject = shareObject; }}class SynchronizeThread extends Thread{ PRivate ShareObjects sData; SynchronizeThread(String threadName,ShareObjects sObject){ super(threadName); this.sData=sObject; } //Object o=new Object(); public void run(){ //synchronized(obj)同步块-锁,防止抢数据 //synchronized(o){} synchronized(sData){ for(int i=1;i<6;i++){ if(this.getName().equals("Thread1")){ sData.setShareObject("这是Thread1"); try{ Thread.sleep((int)Math.random()*40); } catch(Exception e){ e.printStackTrace(); } }else if(this.getName().equals("Thread2")){ sData.setShareObject("这是Thread2"); try{ Thread.sleep((int)Math.random()*40); } catch(Exception e){ e.printStackTrace(); } } System.out.println(this.getName()+":"+sData.getShareObject()); } } }}
新闻热点
疑难解答