本文共 1039 字,大约阅读时间需要 3 分钟。
@author ydj * */ public class SynTest2 { public static void main(String[] args){ Callme target=new Callme(); Caller ob1=new Caller(target,"Hello"); Caller ob2=new Caller(target,"Synchronized"); Caller ob3=new Caller(target,"World"); } } class Callme{ /** * 有和没有synchronized的时候,结果是不一样的 */ synchronized void test(){ LogUtil.log("测试是否是:一旦一个线程进入一个实例的任何同步方法,别的线程将不能进入该同一实例的其它同步方法,但是该实例的非同步方法仍然能够被调用"); } void nonsynCall(String msg){ LogUtil.log("["+msg); LogUtil.log("]"); } synchronized void synCall(String msg){ LogUtil.logPrint("["+msg); LogUtil.log("]"); } } class Caller implements Runnable{ String msg; Callme target; Thread t; Caller(Callme target,String msg){ this.target=target; this.msg=msg; t=new Thread(this); t.start(); } public void run() { // TODO Auto-generated method stub //target.nonsynCall(msg); target.synCall(msg); target.test(); } } 五、XXXX: 写程序到现在,还没有自己写过需要多线程并发访问的。看看前公司的底层代码,也没怎么发现到什么多线程的知识。也许,应用层很少用到这些东西。下个阶段准备学习学习JDK的并发包。 很抱歉,因为您在网易相册发布了违规信息,账号被屏蔽。被屏蔽期间他人无法访问您的相册。 去帮助中心,了解如何重新恢复服务。转载地址:http://udlmi.baihongyu.com/