博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类锁,对象锁
阅读量:6072 次
发布时间:2019-06-20

本文共 1952 字,大约阅读时间需要 6 分钟。

hot3.png

/** * mark_ * 1: 类锁,对象锁 * 2: 对象锁:实例的实例同步方法只能被同一个线程进入;(类的同步方法也是如此) **/public class ObjectLockMdTest {    public synchronized void m1() throws Exception {        System.err.println("m1:enter");        while (true) {            Thread.sleep(10000);//10秒            break;        }        System.err.println("m1:end");    }    public synchronized void m2() {        System.err.println("m2");    }    public static synchronized void m3() throws Exception {        System.err.println("m3:enter");        while (true) {            Thread.sleep(10000);//10秒            break;        }        System.err.println("m3:end");    }    public static synchronized void m4() {        System.err.println("m4");    }    public static void testObjectLock() {        ObjectLockMdTest test = new ObjectLockMdTest();        Thread t1 = new Thread(new Runnable() {            @Override            public void run() {                try {                    test.m1();                } catch (Exception e) {                    e.printStackTrace();                }            }        });        Thread t2 = new Thread(new Runnable() {            @Override            public void run() {                test.m2();            }        });        t1.start();        t2.start();    }    public static void testClassLock() {        Thread t3 = new Thread(new Runnable() {            @Override            public void run() {                try {                    ObjectLockMdTest.m3();                } catch (Exception e) {                    e.printStackTrace();                }            }        });        Thread t4 = new Thread(new Runnable() {            @Override            public void run() {                ObjectLockMdTest.m4();            }        });        t3.start();        t4.start();    }    public static void main(String[] args) throws Exception {       // testObjectLock();        testClassLock();    }}

 

转载于:https://my.oschina.net/craftsdream/blog/2054657

你可能感兴趣的文章
spring mvc 的搭建
查看>>
mac 终端 常用命令
查看>>
linux的历史及大事年表
查看>>
LINUX文件系统与操作命令
查看>>
一.浅述Byte
查看>>
解决运行eclipse内存不足的问题
查看>>
iOS 终端常用命令
查看>>
javascript call用法的简单介绍
查看>>
菜鸟学Linux 第015篇笔记 bash脚本 条件判断
查看>>
在linux上挂载windows的共享目录
查看>>
Jqgrid -- search button doesn't work with Jquery 1.8.0 or greater
查看>>
XtraBackup物理备份MySQL的流程
查看>>
Java项目对jar包加密流程
查看>>
Ubuntu 16.04搭建nexus管理docker image
查看>>
dell srvadmin 安装部署
查看>>
SQL语句的预编译
查看>>
数字签名
查看>>
Windows Server 2003 R2 Enterprise Edition With SP2 VOL 下载地址及安装密钥
查看>>
条形码组件Spire.Barcode 教程:在Java中扫描条形码
查看>>
微软重新定义Skype
查看>>