您的位置:首页 > 编程语言 > Java开发

Java同步,异步相关知识点(3)

2011-08-28 22:55 232 查看
@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的并发包。 很抱歉,因为您在网易相册发布了违规信息,账号被屏蔽。被屏蔽期间他人无法访问您的相册。

  去帮助中心,了解如何重新恢复服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: