前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >synchronized

synchronized

作者头像
全栈程序员站长
发布2021-05-06 09:43:42
3100
发布2021-05-06 09:43:42
举报

 package com.tester;

public class Thread3 {     class Inner {         private void m4t1() {             int i = 5;             while (i– > 0) {                 System.out.println(Thread.currentThread().getName()                         + ” : Inner.m4t1()=” + i);                 try {                     Thread.sleep(500);                 } catch (InterruptedException ie) {                 }             }         }

        private void m4t2() {             int i = 5;             while (i– > 0) {                 System.out.println(Thread.currentThread().getName()                         + ” : Inner.m4t2()=” + i);                 try {                     Thread.sleep(500);                 } catch (InterruptedException ie) {                 }             }         } //会同步,同一个对象只有一把锁         // private synchronized void m4t2() {         // int i = 5;         // while (i– > 0) {         // System.out.println(Thread.currentThread().getName()         // + ” : Inner.m4t2()=” + i);         // try {         // Thread.sleep(500);         // } catch (InterruptedException ie) {         // }         // }         // }

    }

    private void m4t1(Inner inner) {         synchronized (inner) { // 使用对象锁             inner.m4t1();         }     }

    private void m4t2(Inner inner) {         inner.m4t2();     }

    // 不会同步,因为锁的对象不同 //    private synchronized void m4t2(Inner inner) { //        inner.m4t2(); //    }

    public static void main(String[] args) {         final Thread3 myt3 = new Thread3();         final Inner inner = myt3.new Inner();         Thread t1 = new Thread(new Runnable() {             public void run() {                 myt3.m4t1(inner);             }         }, “t1”);         Thread t2 = new Thread(new Runnable() {             public void run() {                 myt3.m4t2(inner);             }         }, “t2”);         t1.start();         t2.start();     } }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100540.html原文链接:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档