zoukankan      html  css  js  c++  java
  • 操作系统基础知识(死锁,线程池…)

    全是用自己的理解写的:

    1、内存碎片:如果对内存反复的申请、释放,就会有一些小的不连续的内存永远得不到使用,多了就成为内存碎片了。

    2、死锁:线程1用着A资源,想占用B资源;此时,如果线程2正在用着B资源,却想占用A资源。这种情况谁也不同意,互掐,结果谁也进行不下去,死锁了。
    所以,在lock()锁线程时,嵌套一定要注意,比如:
    lock(A)
    {
      lock(B)
    }
    同时
    lock(B)
    {
      lock(A)
    }
    这种情况就很可能出现死锁的情况,多线程要小心。

    3、线程池:线程池就是为多线程服务的,一个线程池里面可以包含多个线程,线程池会提前为线程申请内存空间,到使用的时候不用重新申请,效率会比较高。

    就好比一个公司:业务多的时候用100人,业务少的时候只用60人,但是即便40人我没用到,我暂时也不解雇他们,等到业务多了直接重新让他们干活,而不是重新雇新人。

  • 相关阅读:
    1052. 卖个萌 (20)
    1051. 复数乘法 (15)
    1050. 螺旋矩阵(25)
    1049. 数列的片段和(20)
    1048. 数字加密(20)
    1047. 编程团体赛(20)
    1046. 划拳(15)
    怎么用js代码改变单选框的选中状态
    Dom操作--全选反选
    Scoket简介
  • 原文地址:https://www.cnblogs.com/nannanITeye/p/3066501.html
Copyright © 2011-2022 走看看