GUC-10 线程八锁
/** 题目:判断打印的 "one" or "two" ?* * 1. 两个普通同步方法,两个线程,标准打印, 打印? //one two* 2. 新增 Thread.sleep() 给 getOne() ,打印? //one two* 3. 新增普通方法 getThree() , 打印? //three one two* 4. 两个普通同步方法,两个 Number 对象,打印? //two one* 5. 修改 getOne() 为静态同步方法,打印? //two one* 6. 修改两个方法均为静态同步方法,一个 Number 对象? //one two* 7. 一个静态同步方法,一个非静态同步方法,两个 Number 对象? //two one* 8. 两个静态同步方法,两个 Number 对象? //one two* * 线程八锁的关键:* ①非静态方法的锁默认为 this, 静态方法的锁为 对应的 Class 实例* ②某一个时刻内,只能有一个线程持有锁,无论几个方法。*/ public class TestThread8Monitor {public static void main(String[] args) {Number number = new Number();Number number2 = new Number();new Thread(new Runnable() {@Overridepublic void run() {number.getOne();} }).start();new Thread(new Runnable() {@Overridepublic void run() { // number.getTwo(); number2.getTwo();}}).start();/*new Thread(new Runnable() {@Overridepublic void run() {number.getThree();}}).start();*/}}class Number{public static synchronized void getOne(){//Number.classtry {Thread.sleep(3000);} catch (InterruptedException e) {}System.out.println("one");}public synchronized void getTwo(){//thisSystem.out.println("two");}public void getThree(){System.out.println("three");}}
转载于:https://www.cnblogs.com/surge/p/10476285.html
GUC-10 线程八锁相关推荐
- Java线程-线程八锁
synchronized在方法上加锁 加在非静态方法上.锁住的是this对象 class Test{public synchronized void test(){}} 等价于 class Test{ ...
- 线程八锁,同步锁的应用
锁的八种情况的应用 package com.debuggg.test1.main2; /*** 作者 ZYL* 功能描述 : 题目:判断打印的是"one"or "two& ...
- 通过线程八锁问题融会贯通synchronized关键字的使用
文章目录 1. 一锁 2. 二锁 3. 三锁 4. 四锁 5. 五锁 6. 六锁 7. 七锁 8. 八锁 线程八锁 凯有八门遁甲之术,你晓得线程八锁问题吗?赶紧来看一下吧~ 1. 一锁 class N ...
- JVM:高效并发机制——内存模型、线程、锁
为什么要进行并发(多任务处理) 处理器能力很强,尽可能压榨其劳动力 处理器处理速度与存储和通信速度相差甚大(IO.网络通信.数据库访问非常耗时),使得处理器总处在等待的状态,浪费计算资源 物理机提高处 ...
- 【java线程】锁机制:synchronized、Lock、Condition
[Java线程]锁机制:synchronized.Lock.Condition 原创 2013年08月14日 17:15:55 标签:Java /多线程 74967 http://www.infoq. ...
- 七周七并发之线程与锁
2019独角兽企业重金招聘Python工程师标准>>> 七周七并发之线程与锁 博客分类: java 1.概述 1.1并发还是并行(Concurrent or Parallel) A ...
- python线程同步锁_Python实现的多线程同步与互斥锁功能示例
本文实例讲述了Python实现的多线程同步与互斥锁功能.分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 import threading i ...
- Java并发编程-八锁问题带你彻底理解对象锁和类锁
八锁问题带你理解对象锁和类锁 8锁问题演示 1.标准访问 2.在邮件方法中暂停4秒,请问先打印邮件还是短信 3.新增普通sayHello方法,请问先打印邮件还是hello 4.两部手机,请问先打印邮件 ...
- python守护线程_Python之守护线程与锁
# 守护线程随着子线程结束而结束,与守护进程不一样--守护进程随着主进程代码执行完毕而结束 # from threading import Thread # import time # # def f ...
最新文章
- mysql 修改某字段的格式为 utf8mb4
- pyqt根据名字获取控件
- x5675相当于e5_如何辨别电商电脑主机是否二手翻新硬件?揭秘i7级E5电脑主机猫腻...
- 修改Intelij IDEA的maven下载地址为国内阿里云镜像
- wxWidgets:使用自定义对话框
- c语言for循环运行格式,关于for循环的格式
- ai中如何插入签名_技巧不求人167期 Excel如何打印到1页纸的2种方法 Excel如何插入手写签名...
- 用php模拟斗地主发牌,php模拟实现斗地主发牌
- 二进制安装kubernetes v1.11.2 (第八章 kube-apiserver 部署)
- 判断输入的字符串是否为回文_刷题之路(九)--判断数字是否回文
- 杨辉三角python_Python面试150题汇总,都是常问的面试题!
- 使用正则表达是搜索多个字符串,表达式中加入变量
- 今天来谈谈内容溢出和文字溢出的问题
- GDALSetProjection使用的一个注意事项
- selenium+python自动化测试系列(二):AutoIt工具实现本地文件上传
- ATtiny85简单引脚配置
- buctoj2021年ACM竞赛班训练(四)全题解
- 网络百科——网络接口卡
- Image data of dtype object cannot be converted to float 问题解决
- Kindle:电子书资源
热门文章
- CB2-2CARD的openSUSE安装NAS环境配置
- 5G网络逐渐普及TSINGSEE青犀视频云边端架构网页视频实时互动直播系统又将如何发展?
- O-1 4GB+的ISO镜像刻录
- 【优秀课设】基于OpenCV-Python的树莓派人脸识别及89C52单片机控制系统设计(指定照片进行识别、遍历目录下所有照片依次识别)
- HTML格式化是什么?
- 原生table-多级表头【广度优先实现】
- 研发效能度量实践之有赞篇
- Android Custom
- 模型泛化技巧“随机权重平均(Stochastic Weight Averaging, SWA)”介绍与Pytorch Lightning的SWA实现讲解
- 【Java】关于编程环境