上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 54 下一页
摘要: (转载)http://blog.csdn.net/yucan1001/article/details/7014277来自希赛网,作者王胜祥。1 C语言中的异常处理机制 在这之前的所有文章中,都是阐述关于C++的异常处理机制。的确,在C++语言中,它提供的异常处理的模型是非常完善的,主人公阿愚因此才和“异常处理”结下了不解之缘,才有了这一系列文章的基本素材,同时主人公阿愚在自己的编程开发过程中,也才更离不开她,喜欢并依赖于她。 另外,C++语言中完善的异常处理的模型,也更激发了主人公阿愚更多其它的思考。难道异常处理机制只有在C++语言中才有吗?不是的,绝对不是这样的。实际上,异常处理的机制是无. 阅读全文
posted @ 2013-05-04 00:27 robotke1 阅读(549) 评论(0) 推荐(0)
摘要: (转载)http://blog.csdn.net/stephen_yin/article/details/6645072setjmp和longjmp是C语言独有的,只有将它们结合起来使用,才能达到程序控制流有效转移的目的,按照程序员的预先设计的意图,去实现对程序中可能出现的异常进行集中处理。先来看一下这两个函数的定义吧:setjmp和longjmp的函数原型在setjmp.h中函数原型:int setjmp(jmp_buf envbuf);setjmp函数用缓冲区envbuf保存系统堆栈的内容,以便后续的longjmp函数使用。setjmp函数初次启用时返回0值。void longjmp(jm 阅读全文
posted @ 2013-05-04 00:08 robotke1 阅读(184) 评论(0) 推荐(0)
摘要: (转载)http://www.cnblogs.com/hjslovewcl/archive/2011/06/29/2314321.html先写一个被调用的函数#include <stdio.h>int main(int argc, char* argv[]){ return 10;}[root@robot ~]# gcc test_return.c -o test_return[root@robot ~]# ./test_return[root@robot ~]#再写一个调用system的程序#include <stdio.h>#include <stdlib.h 阅读全文
posted @ 2013-05-03 16:25 robotke1 阅读(299) 评论(0) 推荐(0)
摘要: (转载)http://www.cnblogs.com/hjslovewcl/archive/2011/03/14/2314333.html有三种不同的文件锁,这三种都是“咨询性”的,也就是说它们依靠程序之间的合作,所以一个项目中的所有程序封锁政策的一致是非常重要的,当你的程序需要和第三方软件共享文件时应该格外地小心。有些程序利用诸如 FIlENAME.lock 的文件锁文件,然后简单地测试此类文件是否存在。这种方法显然不太好,因为当产生文件的进程被杀后,锁文件依然存在,这样文件也许会被永久锁住。UUCP 中把产生文件的进程号PID存入文件,但这样做仍然不保险,因为PID的利用是回收型的。这里是 阅读全文
posted @ 2013-05-03 13:40 robotke1 阅读(401) 评论(0) 推荐(0)
摘要: (转载)http://www.blogjava.net/qileilove/archive/2012/05/23/378903.html Linux文件锁的示例 为了理解文件锁是如何工作的,我们建立程序文件file_lock.c:#include <stdio.h> #include <fcntl.h>intmain(intargc,char**argv) {if(argc > 1) {intfd = open(argv[1], O_WRONLY);if(fd == -1) {printf("Unable to open the file\n" 阅读全文
posted @ 2013-05-03 13:33 robotke1 阅读(603) 评论(0) 推荐(0)
摘要: (转载)http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764204.html一.线程属性线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。1.名称:pthread_attr_init/pthread_attr_destroy 功能:对线程属性初始化/去除初始化 头文件:#include <pthread.h> 函数原形:int pthrea 阅读全文
posted @ 2013-05-03 11:55 robotke1 阅读(198) 评论(0) 推荐(0)
摘要: (转载)http://www.cnblogs.com/yc_sunniwell/archive/2010/06/23/1763310.html6.名称:pthread_detach 功能:使线程进入分离状态。 头文件:#include <pthread.h> 函数原形:int pthread_detach(pthread_t tid); 参数: 返回值:若成功则返回0,否则返回错误编号。 在默认情况下,线程的终止状态会保存到对该线程调用pthread_join,如果线程已经处于分离状态,线程的底层存储资源可以在线程终止时立即被收回。当线程被分离时,并不能用pthread_join函 阅读全文
posted @ 2013-05-03 11:44 robotke1 阅读(173) 评论(0) 推荐(0)
摘要: (转载)http://www.cnblogs.com/yc_sunniwell/archive/2010/06/23/1763273.html一.什么是线程 在一个程序里的多个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的一个控制序列”。典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程以后,在程序设计时可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各只独立的任务。二.线程的优点(1) 通过为每种事件类型的处理分配单独的线程,能够简化处理异步时间的代码。(2) 多个线程可以自动共享相同的存储地址空间和文件描述符。(3) 有些问题可 阅读全文
posted @ 2013-05-03 11:28 robotke1 阅读(202) 评论(0) 推荐(0)
摘要: (转载)http://www.52rd.com/Blog/Detail_RD.Blog_renjwjx_17459.html线程终止方式一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是线程在其他线程的干预下,或者由于自身运行出错(比如访问非法地址)而退出,这种退出方式是不可预见的。线程终止时的清理不论是可预见的线程终止还是异常终止,都会存在资源释放的问题,在不考虑因运行出错而退出的前提下,如何保证线程终止时能顺利的释放掉自己所占用的资源,特别是锁资源,就是一 阅读全文
posted @ 2013-05-03 11:18 robotke1 阅读(302) 评论(0) 推荐(0)
摘要: 在线程创建时将其属性设为分离状态(detached),也可在线程创建后将其属性设为分离的(detached)。这里使用在创建时指定线程为PTHREAD_CREATE_DETACHED属性。一、实例#include <dirent.h>#include <pthread.h>#include <errno.h>#include <signal.h>#include <time.h>void* thread1(void *arg){ while (1) { usleep(100 * 1000); printf("thread1 阅读全文
posted @ 2013-05-03 11:05 robotke1 阅读(5327) 评论(0) 推荐(0)
上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 54 下一页