多线程3线程带来的安全风险

2020-03-13  本文已影响0人  RyanHugo

线程带来的风险:
1.线程安全问题
2.活跃性问题
3.性能问题

   1.线程安全问题多线程环境下,多个线程共享一个资源,对资源进行读写(非原子性操作)操作
   
   活跃性问题:
   1.死锁 : 哲学家就餐问题,两个人的手上都有互相需要的资源,且都不释放
   2.饥饿:线程优先级,线程争夺资源时,优先级低的可能一直无法获取资源
   3.活锁:
   
   饥饿,公平
   情景:1.高优先级吞噬所有低优先级的CPU时间片
   2.线程被永久堵塞在一个等待进入同步块的状态 
   3.等待的线程永不被唤醒
   
   如何避免饥饿问题:1.设置合理的优先级 2.使用锁代替synchronized 
   
   性能问题
   cpu为多个任务分时间片,cpu为各线程分配时间比较短 上下文切换消耗资源
上一篇 下一篇

猜你喜欢

热点阅读