随笔分类 - 读书笔记
摘要:死锁:死锁的产生需要一定的条件:要有一个或者多个执行线程和一个或者多个资源,每个线程都在等待其中一个资源,但所有的资源都已经别占用了,所有的线程都在相互等待,但他们永远不会释放已经占有的资源,于是任何线程都无法继续,这便意味着死锁的发生死锁产生的条件:1:资源不能被共享,只能由一个进程使用2:请求与保持条件(Hold and wait)已经得到资源的进程可以再次申请新的资源3:非剥夺条件(No Pre-emption)已经分配的资源不能被剥夺4:循环等待(Circular Wait):系统中若干进程组成环路,该环路中的每个进程都在等待相邻进程使用的资源大部分内容取自:http://www.ib
阅读全文
摘要:判断x是否为2的若干次幂关键运算 i & (i - 1)i 和 i-1的二进制区别,i若为2的若干次幂,则i与i-1的区别为相反----------------10000000000000001000000000000000000000000000000001----------------20000000000000010000000000000000100000000000000001----------------40000000000000100000000000000001100000000000000001----------------800000000000010000
阅读全文
摘要:转自:http://developer.51cto.com/art/201104/256820.htm一.C语言中的static关键字在C语言中,static可以用来修饰局部变量,全局变量以及函数。在不同的情况下static的作用不尽相同。(1)修饰局部变量一般情况下,对于局部变量是存放在栈区的,并且局部变量的生命周期在该语句块执行结束时便结束了。但是如果用static进行修饰的话,该变量便存放在静态数据区,其生命周期一直持续到整个程序执行结束。但是在这里要注意的是,虽然用static对局部变量进行修饰过后,其生命周期以及存储空间发生了变化,但是其作用域并没有改变,其仍然是一个局部变量,作用域
阅读全文
摘要:第6章:运行时的数据结构BSS段是“Block Started by Symbol(由符号开始的块)”。BSS只保存没有值的变量,运行时所需要的BSS段的大小记录在目标文件中,但BSS并不占据目标文件的任何空间。c程序的存储空间布局:说明:正文段:由CPU执行的机器指令部份,通常是正文段可以共享的且通常是只读的,以防止程序由于意外而修改其自身指令。初始化数据段:通常被称为数据段,包含了程序中需明确地赋初值的变量。非初始化数据段(bss block started by symbol):程序开始前,内核将此段中的数据初始化为0或空指针。如以下声明:longsum[100];将会被放于非初始化数据
阅读全文
浙公网安备 33010602011771号