同步内核缓冲区 sync、fsync和fdatasync三个函数.
本文基于进程、内核和磁盘之间的数据传递不同步问题,举例讨论了write函数的在写入数据是出现的不同步问题,导致数据丢失,以及对UNIX系统中的sync、fsync和fdatasync三个函数进行了详细分析,最后分析了fflush()与fsync()函数的联系,加深对缓冲区的学习。...
分类:
其他好文 时间:
2014-09-29 20:28:31
阅读次数:
264
不带缓冲IO是指read(),write()等函数标准(带缓冲)IO是指fread(),fwrite()等函数实际上缓冲有两种,是用户空间上的缓冲(流缓冲区)和内核缓冲区。无论是不带缓冲IO还是标准IO都要通过系统调用将数据输入到内核缓冲区。所谓的带缓冲是指带流缓冲区。可以参考文章http://bl...
分类:
其他好文 时间:
2014-09-28 21:15:55
阅读次数:
211
虽然前面都使用的View来进行绘图,但View绘图机制存在两个缺陷:1、缺乏双缓冲机制2、更新图像时,必须更新View上的整张图片,效率低。所以在游戏绘制中推荐使用SurfaceView。它可以只对指定区域进行更新,可以提高效率。下面用一个简单示例来演示SurfaceView的使用:Activity...
分类:
其他好文 时间:
2014-09-28 20:43:35
阅读次数:
251
1.缓冲池简单描述我们知道一个游戏比如跑酷类型的游戏,游戏元素会不断重复。游戏元素会不断从屏幕右边创建出来,当一个元素移出左边屏幕时,又会消失掉。如果不断地new 对象,release 对象 会有性能影响。如何优化呢?就涉及到缓存池的概念。再举一个例子:一个主角在一个竞技场中不断杀怪。每次有5个怪出现,杀死一个又会出来一个。每次出怪就new 怪,死亡怪就release怪,会很浪费的。已经死亡的怪,...
分类:
其他好文 时间:
2014-09-28 11:06:31
阅读次数:
117
例如FileReader和FileWriter在读取的时候是读一次或者写一次就请求磁盘,这样使用的时间非常的长,效率比较低,因此引入BufferedReader和BufferedWriter作为读取和写入的缓存区.1、BufferedReader一次读取8K的字符流到内存中,当程序读取字符时会先到B...
分类:
其他好文 时间:
2014-09-28 02:56:40
阅读次数:
176
Linux系统中的线程通信方式主要以下几种:*锁机制:包括互斥锁、条件变量、读写锁进程通信:管道(PIPE):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系(父子进程)的进程间使用。另外管道传送的是无格式的字节流,并且管道缓冲区的大小是有限的(管道缓冲区存在于内存中,在管道创建...
分类:
编程语言 时间:
2014-09-26 23:35:48
阅读次数:
246
#includechar A[10];void inputElem(char &e){ scanf("%c",&e);}bool endValue(char &e){ if(e!='#') return false; else return tr...
分类:
其他好文 时间:
2014-09-26 22:53:58
阅读次数:
203
setvbuf函数名: setvbuf 功 能: 把缓冲区与流相关用 法: int setvbuf(FILE *stream, char *buf, int type, unsigned size);参数:stream :指向流的指针 ;buf : 期望缓冲区的地址;type : 期望缓冲区的类型:...
分类:
编程语言 时间:
2014-09-26 21:31:58
阅读次数:
230
缓冲区函数包装
纵观所有代码你会发现:无论什么时候,当我们需要对一个buffer进行读写操作时,代码会把实际的缓冲区对象包装在一个buffer()方法中,然后在把它传递给方法调用...
分类:
编程语言 时间:
2014-09-26 20:53:28
阅读次数:
177
java从jdk1.4后就引入了java NIO机制: NIO的显著特点就是通道(channel)、缓冲(buffer)、选择器(selector),NIO机制中添加了传统I/O机制中没有的非阻塞调用(这对于网络通信很有用,可以有效利用CPU),但是这个只能对于网络通道(Socketchannel)...
分类:
编程语言 时间:
2014-09-26 20:05:18
阅读次数:
346