发布时间:2013-01-30 17:18:46
对于pthread_create为创建线程传递参数的问题,先前只知道传递单个参数的方法,现在需要传递多个参数。 对于新手的我比较纠结,因此,上网查找资料,发现CU里面的一个帖子(帖子地址后面给出)。 下面把帖子中认为对自己有用的知识摘录下来,以后经常看看。 帖子内容: 1、传递int、short、char等,大小少于一个指针长度类型的,强制转换为(void*),然后在线程函数里转换回来即可; 2、传递多个参数的时候......【阅读全文】
发布时间:2013-01-30 17:18:42
进程与线程 为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间。不同的线程可用存取内存中的同一个变量。所以,程序中所有的线程都可以读或者写声明过的全局变量。如果曾用fork()编写过重要代码,就会认识到这个工具的重要性。为什么呢?虽然fork()允许创建多个进程,但它还会带来以下通信问题:如何让多个进程相互通信,这里每个进程都有各自独立的内存空间。对于这个问题没有一个简单的答案。虽然有许多不同种类的本地IPC(进程间通信),但它们都遇到两个重要障碍。强加了某种形式的额外内核开销,从而降低性能;对于大多数情形,IPC不是对于代码......【阅读全文】
发布时间:2012-12-27 14:12:18
信号 信号是软件中断。信号提供了一种处理异步事件的方法,属于异步事件的经典实例。 信号的名字都以SIG三个字符开头,例如SIGABRT是提前退出信号(进程调用abort函数产生),SIGALRM是闹钟信号(由alarm函数设置的计时器超时产生)。而Linux和Solaris都支持应用程序额外定义的信号。 在头文件<signal.h>中,信号都被定义为正整数(即信号编码)。(所以,不存在编号为0的信号。)而kill函数对信号编码0有特殊的应用,POSIX.1将此类信号编码值成为空信号。 UNIX的早期版本提供的信号模型并不可靠;4.3BSD和SVR3对信号模型做了更改,......【阅读全文】
发布时间:2012-12-27 14:02:09
sockaddr与sockaddr_in结构体简介2006-11-26 16:46 40145人阅读 评论(17) 收藏 举报 struct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; &n......【阅读全文】