美文网首页
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-异步和读写锁

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