- 博客(8)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Java多线程(八):ReentrantReadWriteLock
读写锁ReentrantReadWriteLock概述读写锁ReentrantReadWriteLock,使用它比ReentrantLock效率更高。读写锁表示两个锁,一个是读操作相关的锁,称为共享锁;另一个是写操作相关的锁,称为排他锁。1、读和读之间不互斥,因为读操作不会有线程安全问题2、写和写之间互斥,避免一个写操作影响另外一个写操作,引发线程安全问题3、读和写之间互斥,避免读操作的...
2019-07-30 14:25:00 83
原创 Java多线程(七):ReentrantLock
加锁和解锁我们来看下ReentrantLock的基本用法ThreadDomain35类public class ThreadDomain35 { private Lock lock = new ReentrantLock(); public void testMethod() { try { lock.loc...
2019-07-22 15:25:00 90
原创 Java多线程(六):wait(),notify()和notifyAll()
wait(),notify()和notifyAll()介绍1.wait()使当前线程等待,直到另一个线程调用notify(),notifyAll()或者中断,当前线程调用wait()之前必须持有锁,调用wait()之后会释放锁。等到当前线程重新获得锁,恢复执行。只能在同步方法调用wait()。2.notify()唤醒一个正在等待锁的线程,如果有多个线程在等待锁,那么任意唤醒其中一个wai...
2019-07-15 19:02:00 236
原创 Java多线程(五):死锁
死锁概念当线程Thread-0持有锁Lock1,Thread-1持有锁Lock2,此时Thread-0申请Lock2锁的使用权,Thread-1申请Lock1锁的使用权,Thread-0和Thread-1都在无限地等待锁的使用权。这样就造成了死锁。死锁是主要由于设计的问题。一旦出现死锁,死锁的线程就会永远不能使用,同步方法不会被执行,死锁线程不会被自动终止,无尽地消耗CPU资源。例子看...
2019-07-08 17:48:00 90
原创 Java多线程(四):volatile
volatilevolatile是一种轻量同步机制。请看例子MyThread25类public class MyThread25 extends Thread{ private boolean isRunning = true; public boolean isRunning() { return isRunning; } pub...
2019-07-04 15:57:00 142
原创 Java多线程(三):Synchronized
多线程安全脏读:多个线程对同一个对象的实例变量进行修改后访问,导致读到的数据是被修改过的。实例ThreadDomain16类public class ThreadDomain16 { private int num = 0; public void addNum(String userName) { try { ...
2019-07-02 17:37:00 144
原创 51单片机学习笔记
1.认识单片机89C51单片机结构框图单片机管脚图单片机我们主要研究的是IO口和中断。中断分为定时器、计数器、串行口、外部中断共有32个IO口。VCC:电源Gnd:地线P3.0和P3.1是串口中断P3.2和P3.3是外部中断P3.4和P3.5是定时器/计数器2. 51单片机开发环境...
2019-07-01 16:41:00 250
求助:最简单的json实例,jquery的getJSON获取不到data
2017-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人