lock 对象: acquire():负责取得一个锁。如果没有线程正持有锁,acquire方法会立刻得到锁。否则,它闲意态等锁被释放。 一旦acquire()返回,调用它的线程就持有锁。 release(): 释放锁。如果有其他线程正等待这个锁(通过acquire()),当rele...
分类:
编程语言 时间:
2014-11-03 16:16:12
阅读次数:
204
在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。 线程的分离状态...
分类:
编程语言 时间:
2014-11-03 16:11:36
阅读次数:
190
图示C内存分配程序代码区存放函数体的二进制代码全局数据区全局变量和静态变量的存储是放在一起的。初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。常量数据存放在另一个区域里。这些数据在程序结束后由系统释放。我们所说的BSS段(bss segment)通常是...
分类:
其他好文 时间:
2014-11-03 16:04:48
阅读次数:
276
一、Android的内存机制Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们...
分类:
移动开发 时间:
2014-11-03 14:28:05
阅读次数:
154
释放未托管的资源有两种方法1、析构函数2、实现System.IDisposable接口一、析构函数 构造函数可以指定必须在创建类的实例时进行的某些操作,在垃圾收集器删除对象时,也可以调用析构函数。析构函数初看起来似乎是放置释放未托管资源、执行一般清理操作的代码的最佳地方。但是,事情并不是如此简单。由...
分类:
其他好文 时间:
2014-11-03 14:26:15
阅读次数:
171
P就是请求资源,V就是释放资源。 问题1 一个司机与售票员的例子 在公共汽车上,为保证乘客的安全,司机和售票员应协调工作: 停车后才能开门,关车门后才能行车。用PV操作来实现他们之间的协调。 S1:是否允许司机启动汽车的变量 S2:是否允许售票员开门的变量 driver()//司机进程 ...
分类:
其他好文 时间:
2014-11-03 14:24:07
阅读次数:
253
strong相当于retain,week相当于assign:1. 接触过C,那么假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给 (assign)了b。此时a和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的...
分类:
其他好文 时间:
2014-11-03 14:19:13
阅读次数:
121
简单来说:JS闭包就是不需要传参,调用外部函数就叫做闭包。复杂来将:闭包是指某种程序语言中的代码块允许一级函数存在并且在一级函数中所定义的自由变量能不被释放,直到一级函数被释放前,一级函数外也能应用这些未释放的自由变量。简化一下:闭包,其实就是指程序语言中能让代码调用已运行的函数中所定义的局部变量。...
分类:
Web程序 时间:
2014-11-03 12:51:59
阅读次数:
263
我们知道,对于一个较大的String对象如果从中获取一个子串,jdk默认子串的char是共享原串的char,即子串的char[]是原串的char[]中的一部分,这样对于一个原串多个子串的情况可以节省很大空间。但是也正是因为共享,如果一个很大的原串在获取一个很小的子串后,原串不再需要,却因为子串共享了char[]一直不能释放,在很多时候造成相反的结果,甚至出现性能上的问题:参见:https://co...
分类:
其他好文 时间:
2014-11-03 10:17:11
阅读次数:
165
Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事;ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理内存的呢?刨根问底,一起来探究下黑幕背后的Autorelease机制吧。
Autorelease对象什么...
分类:
其他好文 时间:
2014-11-03 10:14:04
阅读次数:
206