如果系统中存在临界资源(资源数量少于竞争资源的线程数量的资源),例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就必须进行同步存取(数据库操作中的排他锁就是最好的例子)。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。事实上,所谓的同步就是指阻塞式操作,而异步就是非阻塞式操作。
(Java并发面试题)举例说明同步和异步。
未经允许不得转载:IDEA激活码 » (Java并发面试题)举例说明同步和异步。
相关推荐
- (Java并发面试题) 什么是Java Timer 类?如何创建一个有特定时间间隔的任务?
- (Java并发面试题)CopyOnWriteArrayList可以用于什么应用场景?
- (Java并发面试题)乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
- (Java并发面试题)什么是Daemon线程?它有什么意义?
- (Java并发面试题) SynchronizedMap和ConcurrentHashMap有什么区别?
- (Java并发面试题) synchronized和ReentrantLock的区别
- (Java并发面试题) 讲一下 synchronized 关键字的底层原理
- (Java并发面试题) 什么是可重入锁(ReentrantLock)?