zoukankan      html  css  js  c++  java
  • 010 线程并发问题

    一 .概述

      在之前我们将线程的一些基本的问题都做出讲解,现在我们开始接触线程的真正的核心问题,那就是线程的并发问题.

      线程的安全问题主要有三个方面:

      [1]线程安全问题

      [2]线程活跃性问题

      [3]线程性能问题


     二 .线程安全问题

      当多线程并发的时候,可能出现多线程争夺资源的问题,当处理不好就会发生线程线程安全问题.

        线程安全问题实质就是多线程情况下得出的结果和我们预期不一致,那也就是说是错误的.

          当错误发生发生的时候,多线程对于我们就是伤害,任何性能的提升都没有价值.

    因此,线程的安全性问题是最基本需要保证的.

      线程的安全性问题基本上都可以用锁机制来完成,这个机制在后面是我们详细要讲述的,包括内置锁和高级锁等内容.


     三 ,线程活跃性问题

      当线程安全性问题解决之后,我们可能会遇到线程的活跃性问题,常见的问题有如下三种:

        死锁,饥饿,活锁.

      当我们的程序遇到活跃性问题的时候,多线程的程序可能无法运行下去,虽然是存在几率的.

      在下面的内容之中,或详细介绍线程活跃性问题.


     四 . 线程性能问题

      当我们处理完上面的线程安全性问题和活跃性问题的时候,我们实质上是将线程的无序性进行了控制,当我们花费在这上面的资源过多的时候,并发带来的

        性能提升还剩下多少呢?

        如果多线程提升的性能还不及控制花费的资源,我们使用线程根本没有任何意义.

      这部分的内容会在后面的并发容器和高级锁部分进行讲解.


     五 . 线程问题

      在上面列出了我们在多线程并发的时候需要注意的问题,

        这也是多线程并发为什么比单线程程序设计困难的地方,在后面我们会介绍一些常用的思维方式,

          拿着这些常见的经验可以减少我们并发设计的代价.

        线程安全性问题 > 活跃性问题 > 性能问题 

      上面是我们设计多线程时候追求的目标,如果前面的一个目标都不能完成,那么下面的目标根本不需要考虑了.

      

  • 相关阅读:
    Node 文件上传,ZIP
    jquery实现前台倒计时。应用下单24小时后自动取消该订单
    solr 4.4添加索引是新手容易遇到的问题
    solr 4.6的安装配置
    java.lang.OutOfMemoryError: PermGen space
    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
    mybatis代码生成(generator工具生成代码)
    再次熟悉jdbc连接mysql
    魔方阵,奇数阵。输入一个奇数,产生一个魔方阵
    错误,这个如何解决呢?内存溢出的问提。把JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 还是不行
  • 原文地址:https://www.cnblogs.com/trekxu/p/8995792.html
Copyright © 2011-2022 走看看