死锁: 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有"两个以上对象的锁"时,就可能会发生"死锁"的问题。 思路: 首先要有两个对象口红 Lipstick 类 和镜子 Mirror 类 然后需要 ...
分类:
编程语言 时间:
2020-02-04 20:27:16
阅读次数:
77
一、简介 volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volat ...
分类:
其他好文 时间:
2020-01-28 21:11:52
阅读次数:
63
synchronized与lock的区别 1. 原始构成 synchronized是关键字属于JVM层面 monitorenter(底层是通过monitor对象来完成,其实wait/notify等对象也依赖于monitor独享只有在同步块或方法中才能调wait/notify等方法) monitore ...
分类:
编程语言 时间:
2020-01-24 23:45:12
阅读次数:
151
1.原始构成 synchronized是关键字属于jvm层面,monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象,只有在同步块或者方法中才能调wait/notify等方法) monitorexit lock是具体类(java.ut ...
分类:
其他好文 时间:
2020-01-05 20:35:04
阅读次数:
90
实现Runnable的线程同步块 package synchronization.block; /* @author zsben @create 2020-01-03 13:48 创建三个窗口卖票,使用Runnable接口方式 1.问题:卖票过程中出现了重票,错票-->出现了线程安全问题 2.解决方 ...
分类:
编程语言 时间:
2020-01-04 12:30:15
阅读次数:
66
1. sleep()方法是Thread的静态方法,而wait是Object实例方法2. wait()方法必须要在同步方法或者同步块中调用,也就是必须已经获得对象锁。而sleep()方法没有这个限制可以在任何地方种使用。另外,wait()方法会释放占有的对象锁,使得该线程进入等待池中,等待下一次获取资 ...
分类:
其他好文 时间:
2019-12-05 13:27:22
阅读次数:
88
线程通信的方式: 1、共享变量 线程间通信可以通过发送信号,发送信号的一个简单方式是在共享对象的变量里设置信号值。线程A在一个同步块里设置boolean型成员变量hasDataToProcess为true,线程B也在同步代码块里读取hasDataToProcess这个成员变量。这个简单的例子使用了一 ...
分类:
编程语言 时间:
2019-11-22 01:06:15
阅读次数:
77
大家都知道引用类型对象除实例字段的开销外,还有两个字段的开销:类型指针和同步块索引(SyncBlockIndex)。同步块索引这个东西比起它的兄弟类型指针更少受人关注,显得有点冷落,其实此兄功力非凡,在CLR里可谓叱咤风云,很多功能都要借助它来实现。 接下来我会用三篇来介绍同步块索引在.NET中的所 ...
分类:
其他好文 时间:
2019-10-05 01:07:43
阅读次数:
125
抢票线程使用同步块修改synchronized(this){};this锁定的就是这个对象的资源publicclassn{publicstaticvoidmain(String[]args)throwsInterruptedException{webwb=newweb();newThread(wb,"a").start();newThread(wb,"b").start();newThread(w
分类:
编程语言 时间:
2019-08-14 09:40:41
阅读次数:
103
并发:同一个对象对多个线程同时操作线程同步:一种等待机制,等待前面线程使用完再下一个线程使用线程同步形成条件:形成队列,加上锁机制(synchronized)同步块:synchronized(具体对象){代码};锁定资源,一个线程一个线程的使用抢票:publicclassn{publicstaticvoidmain(String[]args)throwsInterruptedException{w
分类:
编程语言 时间:
2019-08-13 22:36:16
阅读次数:
112