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

本文通过一个简单的Java程序演示了同步方法的使用。当一个线程正在执行对象的同步方法时,其他线程试图访问该对象的其他同步方法将被阻塞,但可以访问非同步方法。文章提供了一个包含多个线程尝试访问同一对象的不同方法的示例。
@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的并发包。 很抱歉,因为您在网易相册发布了违规信息,账号被屏蔽。被屏蔽期间他人无法访问您的相册。

  去帮助中心,了解如何重新恢复服务。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值