摘要: Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生, 阅读全文
posted @ 2013-09-16 16:43 总是TMD后知后觉 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 本文编辑整理自:http://hi.baidu.com/7828058/blog/item/256e16decd1a385e94ee3784.htmlhttp://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part1/ Posix线程中的线程属性pthread_attr_t主要包括scope属性、detach属性、堆栈地址、堆栈大小、优先级。在pthread_create中,把第二个参数设置为NULL的话,将采用默认的属性配置。pthread_attr_t的主要属性的意义如下:__detachstate,表示新线程是否 阅读全文
posted @ 2013-09-16 11:47 总是TMD后知后觉 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 【sigaction系统调用】功能描述:处理信号。既可用于设定对任意信号的处理方式,也可用于检验该信号的目前预设处置方式。用法:#include int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);参数:signum:除了SIGKILL和SIGSTOP之外的其它任何信号编码。act:如果值非NULL,将安装为signum关联信号的新处理方式。oldact:如果值非NULL,存储以前对signum关联信号的处理方式。sigaction的结构形态如下:struct sigaction { 阅读全文
posted @ 2013-09-16 11:15 总是TMD后知后觉 阅读(2702) 评论(0) 推荐(0) 编辑