15-异步和读写锁

异步和读写锁

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

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

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

读写分离这个思想最重要出现在数据库中,在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,大家感兴趣的可以作为了解。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,444评论 11 349
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,828评论 8 265
  • 1 每次提笔,都会忘记要写些什么 妹妹过来常州比赛,我的印象中,她一直是个很要强的姑凉,事事都会仔细小心,做到在自...
    晓霜宛海阅读 3,709评论 2 3
  • 文/地球是个胖子 那一年小学三年级,在教学楼看到一只燕子直接撞上了对面楼的墙,当时就觉得它没死,然后冒着被抓的危险...
    地球是个胖子阅读 2,817评论 2 1
  • 今天是元月十五日,周一,多云 中午,带着果果和她的好朋友许舒涵一起回到家,两个小朋友表现的都非常棒!吃饭前在客厅安...
    沐浴阳光_ee71阅读 1,547评论 0 1