操作系统基础知识(死锁,线程池…)

本文解释了内存碎片、死锁现象及线程池的概念。内存碎片是指由于反复分配和释放内存导致的小块不可用内存累积。死锁发生在两个线程互相等待对方释放资源的情况下。线程池预先创建一组线程以提高多线程应用的效率。

全是用自己的理解写的:

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

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

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

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

转载于:https://www.cnblogs.com/nannanITeye/archive/2013/05/08/3066501.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值