每天学习一点点211126--多线程的优劣

多线程编程的优势与存在的风险

优势:

  1. 提高系统的吞吐率(Throughout)。多线程编程可以使一个进程有多个并发的操作。
  2. 提高响应性。Web服务器会采用一些专门的线程负责用户的请求,缩短了用户的等待事件。
  3. 充分利用多核处理器资源,通过多线程可以充分利用CPU资源。

问题与风险:

  1. 线程安全问题。多线程共享数据时,如果没有采取正确的并发访问控制措施,就可能会产生数据一致性问题,如读取脏数据(过期的数据),如丢失数据更新。

  2. 线程火星问题,由于程序自身的缺陷或者由资源稀缺性导致线程一直处于非 RUNNABLE 状态,这就是线程活性问题,常见的活性故障有以下几种:
    死锁
    锁死
    活锁
    饥饿

  3. 上下文切换。处理器从执行一个线程切换到执行另一个线程。

  4. 可靠性。可能会由一个线程导致 JVM 意外终止,其他的线程也无法执行。

猜你喜欢

转载自blog.csdn.net/qq_45352902/article/details/121621381