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人我没用到,我暂时也不解雇他们,等到业务多了直接重新让他们干活,而不是重新雇新人。

  • 相关阅读:
    数组索引,内容交换
    查找两个等长升序线性表的中位数
    MarkDown使用小结
    java元注解
    LeetCode OJ:Valid Number
    LeetCode OJ:Insert Interval
    关于博客的格式
    9.Hive Metastore Administration
    3.控制hive map reduce个数
    6.capacity scheduler
  • 原文地址:https://www.cnblogs.com/nannanITeye/p/3066501.html
Copyright © 2011-2022 走看看