java进阶干货Java学习笔记Java 杂谈

Java并发编程(二)优势和风险

2018-02-25  本文已影响22人  FantJ
一、优势

并发编程之所以让人迷惑是因为有不止一种问题的解决需要使用并发,也有不止一种方法去实现并发,而且他们之间也没有清晰的映射。

使用并发编程来解决的问题可以划分为两类,即“speed”和“designmanageability”。

  1. 速度优势:
  1. 设计上的优势:
二、风险
  1. 安全性问题

主要是多个线程共享数据时可能会产生于期望不相符的结果

  1. 活跃性问题(liveness)

当某个操作无法继续进行下去时,就会发生活跃性问题。比如死锁、饥饿、活锁等问题。(死锁、饥饿、活锁可自行百度)

  1. 性能问题

a. 线程过多时会使得CPU频繁切换,花在调度上时间太多。

b. 多线程环境必须使用同步机制,导致很多编译器想做的优化被抑制。

c. 线程过多还会消耗过多内存。

上一篇 下一篇

猜你喜欢

热点阅读