美文网首页
15-异步和读写锁

15-异步和读写锁

作者: 加碘盐_ed6c | 来源:发表于2018-05-06 17:43 被阅读0次

异步和读写锁

到这里并发基础的讲解就到了尾声了,大家对并发程序设计有没有一定的了解了呢?其实并发有很多门道,我们先开看看之前我们的锁的问题,当我们加了锁之后就会出现并发中效率降低,那么怎么解决这个问题呢?

其实在并发中,重要的是设计思想,这里的思想有两种,一种是异步,另一种是读写分离。

异步其实也出现在操作系统中,就是在一个线程在访问同步的方法的时候,其他线程可以访问非同步方法以提高效率。

读写分离这个思想最重要出现在数据库中,在MySQL中,用户读取数据的时候,并不加行锁,然而修改数据的时候会给数据库加行锁。

在JDK的并发包中就存在这样的锁,叫做读写锁,可以实现读写分离。

同样,异步方式大家可以尝试,不需要借助工具的。

并发的应用

  1. 大家都知道的Java Web容器Tomcat就用到了Java的并发。
    Web应用解决的是B/S的应用,其实B/S在某种程度上就是一种C/S。那么可以分为客户端和服务器端,在使用Tomcat中,Tomcat使用多线程实现了用户的并发访问,Tomcat会为每一个访问服务器的客户机都建立一个线程,并发操作。但是Tomcat的缺陷在于Tomcat使用的是一种伪异步的方式,当线程池中的所有线程都阻塞的时候必将影响执行效率,还有其他Web容器采用了新的方式就是Java的NIO,异步的IO,这个大家可以了解一下

  2. 游戏服务器的守护进程
    Java还有很大的用处就是网络游戏服务器的守护进程,用来为每个用户提供服务,为了保证游戏的效率的稳定,这里大量的使用了Java NIO,其中还有一个重要的框架叫做Netty,大家感兴趣的可以作为了解。

相关文章

  • 15-异步和读写锁

    异步和读写锁 到这里并发基础的讲解就到了尾声了,大家对并发程序设计有没有一定的了解了呢?其实并发有很多门道,我们先...

  • 读写锁和互斥锁 读写互斥锁,简称读写锁 mux sync.RWMutex Lock和Unlock分别对写锁进行锁定...

  • 可重入读写锁 ReentrantReadWriteLock

    读写锁分为读锁和写锁,多个线程获取读锁不互斥,读写锁、写写锁互斥。 输出

  • 基于CAS的一些锁(5)- ReadWriteLock

    ReadWriteLock 读写锁。读写锁的概念其实就是共享锁和排他锁,读锁就是共享锁,写锁就是排他锁。 如何理解...

  • Go 语言的锁

    Go 语言提供两类锁: 互斥锁(Mutex)和读写锁(RWMutex)。其中读写锁(RWMutex)是基于互斥锁(...

  • 2021-07-28 JUC 锁

    1. 读写锁 ReentrantReadWriteLock 的用法 读写锁对象生成之后,内部会存在两个锁,读锁和写...

  • CopyOnWrite思想

    读写锁的弊端 读写锁的思想是读读不互斥,读写互斥,写写互斥最大的问题,其实就在于写锁和读锁的互斥。假设写操作频率很...

  • Java - ReentrantReadWriteLock的读写

    ReentrantReadWriteLock是可重入读写锁,底层依赖AQS实现,读写锁的竞争通过state的高位和...

  • JUC之读写锁

    读写锁 读写锁是指两个锁,读锁和写锁。 写锁又称为独占锁,指该锁一次只能被一个线程所持有 。ReentrantLo...

  • Linux内核设计与实现——内核同步方法

    主要内容 原子操作 自旋锁 读写自旋锁 信号量 读写信号量 互斥锁 完成变量 大内核锁 顺序锁 禁止抢占 顺序和屏...

网友评论

      本文标题:15-异步和读写锁

      本文链接:https://www.haomeiwen.com/subject/ftburftx.html