理解同步与异步,及java中实现同步机制的方法
2017-06-11 14:39
417 查看
线程间的同步访问
线程同步机制是解决多线程访问共享资源时导致的内存不一致问题。
一般说到的hashmap是异步的,HashTable是同步的,是说hashmap是线程不安全的,hashtable是线程安全的。
线程同步访问的方法:
1.加锁
2.volatile
3.ThreadLocal
4.wait(),notify()/await(),singal()
同步/异步
同步:发送一个请求,需要等待该请求的返回才能进行下一个请求,
就类似于阻塞,像在socket通信中,read流接收数据,若没有数据,就会阻塞,直至接收到数据。
异步:发送一个请求,不需要等待返回,随时可以发送下一个请求,不需要等待,例如ajax异步刷新。
线程同步机制是解决多线程访问共享资源时导致的内存不一致问题。
一般说到的hashmap是异步的,HashTable是同步的,是说hashmap是线程不安全的,hashtable是线程安全的。
线程同步访问的方法:
1.加锁
2.volatile
3.ThreadLocal
4.wait(),notify()/await(),singal()
同步/异步
同步:发送一个请求,需要等待该请求的返回才能进行下一个请求,
就类似于阻塞,像在socket通信中,read流接收数据,若没有数据,就会阻塞,直至接收到数据。
异步:发送一个请求,不需要等待返回,随时可以发送下一个请求,不需要等待,例如ajax异步刷新。
相关文章推荐
- Java CountDownLatch 异步转同步的实现方法
- 【java回调】同步/异步回调机制的原理和使用方法
- 【java回调】同步/异步回调机制的原理和使用方法
- 深入理解 Java 虚拟机-多态性实现机制——静态分派与动态分派
- 【Java面试题】23 java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- 容易理解的快速排序算法及其相关算法的总结(含java实现方法)
- 跨平台python异步回调机制实现和使用方法
- Java本地方法理解及通过JNI的简单实现
- java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- ES transport client底层是netty实现,netty本质上是异步方式,但是netty自身可以使用sync或者await(future超时机制)来实现类似同步调用!因此,ES transport client可以同步调用也可以异步(不过底层的socket必然是异步实现)
- java多线程实现火车售票系统 以及java中的同步的实现 同步块 和同步方法同时 同步
- Java用反射机制在不看类的实现方法下查看类的相关信息
- java实现定时任务的三种方法(很好理解)
- 理解B/S结构中服务端同步与异步机制的区别,通过使用ASP.Net异步处理节约队列时间成本,解决大并发量问题
- 关于java中的 sychronized 同步方法 与 同步块的理解
- Java线程同步实现方法
- paip.函数方法回调机制跟java php python c++的实现
- Java Note: 多线程的同步(互斥锁)的方法对比,信号量锁,读写锁的实现,生产者-消费者模式的实现
- 什么是线程同步?实现同步机制有哪些方法?
- java两种同步机制的实现 synchronized和reentrantlock