上一页 1 2 3 4 5 6 7 8 ··· 25 下一页

2011年12月26日

linux c 获取文件大小

摘要: 获取文件大小这里有两种方法:方法一、范例:view plainunsignedlongget_file_size(constchar*path){unsignedlongfilesize=-1;FILE*fp;fp=fopen(path,"r");if(fp==NULL)returnfilesize;fseek(fp,0L,SEEK_END);filesize=ftell(fp);fclose(fp);returnfilesize;}此种以打开文件的方法取得文件的大小,不适合大文件,并且可能会出现访问冲突(比如正在下载的文件),效率也比较低方法二、范例:view plain 阅读全文

posted @ 2011-12-26 20:05 lonelycatcher 阅读(5572) 评论(0) 推荐(1) 编辑

2011年12月22日

linux 中select()函数的使用

摘要: 转自:http://blog.csdn.net/zi_jin/article/details/4214359Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返 阅读全文

posted @ 2011-12-22 12:34 lonelycatcher 阅读(890) 评论(0) 推荐(0) 编辑

linux 下fcntl的使用

摘要: 功能描述:根据文件描述词来操作文件的特性。#include <unistd.h>#include <fcntl.h>int fcntl(int fd, int cmd);int fcntl(int fd, int cmd, long arg);int fcntl(int fd, int cmd, struct flock *lock);[描述]fcntl()针对(文件)描述符提供控制。参数fd是被参数cmd操作(如下面的描述)的描述符。针对cmd的值,fcntl能够接受第三个参数int arg。[返回值]fcntl()的返回值与命令有关。如果出错,所有命令都返回-1,如 阅读全文

posted @ 2011-12-22 09:56 lonelycatcher 阅读(19546) 评论(3) 推荐(2) 编辑

2011年12月20日

信号量 互斥锁 条件变量的区别(讲的很好,值得收藏)

摘要: 来自:http://blog.chinaunix.net/space.php?uid=23061624&do=blog&cuid=2127853信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”也就是说,信号量不一定是锁定某一个资源,而是流程上的概念,比如 阅读全文

posted @ 2011-12-20 09:14 lonelycatcher 阅读(38581) 评论(2) 推荐(7) 编辑

2011年12月17日

linux下 fork(),vfork(),clone()的用法及区别

摘要: 转自:http://memorymyann.iteye.com/blog/235638fork,vfork,clone都是linux的系统调用,用来创建子进程的(确切说vfork创造出来的是线程)。先介绍下进程必须的4要点:a.要有一段程序供该进程运行,就像一场戏剧要有一个剧本一样。该程序是可以被多个进程共享的,多场戏剧用一个剧本一样。b.有起码的私有财产,就是进程专用的系统堆栈空间。c.有“户口”,既操作系统所说的进程控制块,在linux中具体实现是task_structd.有独立的存储空间。当一个进程缺少d条件时候,我们称其为线程。1.fork 创造的子进程复制了父亲进程的资源,包括内存的 阅读全文

posted @ 2011-12-17 20:05 lonelycatcher 阅读(6722) 评论(0) 推荐(2) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 25 下一页

导航