继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

并发一:JAVA并发模型

慕侠6079527
关注TA
已关注
手记 3
粉丝 0
获赞 1

       并发程序是指在运转中有两个及以上的使命一起在处理,与之相关的概念并行,是指在运转中有两个及以上的使命一起履行,差别是在于处理和履行。在单核CUP中两个及以上使命的处理方法是让它们替换的进入CUP履行,这种对履行的处理方法便是并发。并行只能发生在多核CUP中,每个CUP核心拿到一个使命一起履行,并行是并发的一个子集

1):提高硬件资源的利用率(特别是IO资源),提高体系的响应速度、减少客户端等待、添加体系吞吐量

怎么完结并发:www.handlinklog.com

2):线程并发,JAVA、C#以线程作为履行体进行并发。

二、线程完结

1):依据内核线程(Kernel-Level Thread,KLT)

2):依据用户线程

3):依据用户线程和内核线程混合

三、线程通讯

1):同享内存

       可是多个线程操作同一个同享变量,势必会形成“数据争用”。竞赛条件下必须让同享变量进入临界区进行维护,否则会发生数据不一致。

2):消息传递

      可是因为消息的发送必须在接纳之前,不存在数据不一致的问题。

四、JAVA并发


        每一个JAVA线程都对应者一个内核线程,所以线程的创立、调度、上下文切换都需求体系内核的支撑,会耗费体系资源。

        “线程与锁”模型是JAVA语言的并发模型。这也是大多数语言都支撑的模型,因为其基本接近硬件自身运转的模式,能够处理的问题领域很多有着很高的运转功率,一直都是并发编程的首选。缺点是运用这样模型需求开发者时间警惕线程安全问题,http://www.gjqlxkf.com处理复杂的线程协作问题,重视计算资源的开支问题。

JAVA并发编程需求面对两个问题:

2):线程安全问题,要想让并发程序正确的履行,需求处理原子性,可见性、有序性的问题,常用的保障线程安全的方法有加锁、不同享状况、不可变对象。

1):JAVA内存模型(JMM   Java Memory Model) ,经过final、volatile、synchronized的内存语义,happens-before原则,处理多线程中原子性,可见性、有序性问题。

<p font-size:14px;"="" style="overflow-wrap: break-word; margin-top: 5px; margin-bottom: 5px; font-family: "sans serif", tahoma, verdana, helvetica; font-size: 12px; white-space: normal;">2):JAVA并发编程包(J.U.C   java.util.concurrent),大师之作,供给了更高效的锁、更优化的并发数据结构、更方便的同步工具,更实用的线程池为高效的并发供给了有力的支撑。 


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP