UNIX
文章平均质量分 73
MagiSu
黑社会大哥的殿后小弟
展开
-
APUE Chapter 11笔记:UNIX下的线程(II)
/*随意转载,请注明原作者和出处。我想要找个工作,吃饭第一……*/先推荐宫村优子的Its only fairy tales,连带推荐舞-HiME,就算不看动画内容,看MM也很happy。巨喜欢舞衣MM。然后推荐AIRANNE的Komm, süsser Tod,用最欢快的歌声唱出最忧郁的内容。上次写到线程的共享同步方面的问题。线程的同步解决方法就是锁,这点用膝盖都能想出来。然而Unix并不支持数据原创 2008-02-08 00:06:00 · 1494 阅读 · 0 评论 -
APUE Chapter 11 笔记:Unix下的线程(I)
/** *任意转载,但请注明出处和原作者。听Leo说多写技术文章容易被猪头公司看中…… */开始通过APUE Chapter 11学习Unix下的多线程开发。以我的理解,线程就是一种轻量级的进程,与主进程共享内存空间,resource,文件描述符等,但是有独立的栈空间。要使用线程,必须包含POSIX的线程库,这是GNU C默认不会被连接的库,所以需要用-lpthread指明。程序中要#includ原创 2008-02-05 16:30:00 · 1318 阅读 · 0 评论 -
APUE Chapter 12笔记:Unix下线程的控制(I)
首先是线程的属性。线程的属性是pthread_attr_t 类型的,具体的说就是typedef union{ char __size[__SIZEOF_PTHREAD_ATTR_T]; long int __align;} pthread_attr_t;一个集合,其中__SIZEOF_PTHREAD_ATTR_T的大小在我的Linux 2.6.24下是36,而sizeof(long int)=原创 2008-02-10 01:54:00 · 1065 阅读 · 1 评论 -
APUE Chapter 12笔记:Unix下线程的控制(II)
对于线程之间数据的同步锁,同样有着属性:1、mutex锁int pthread_mutexattr_init(pthread_mutexattr_t *);int pthread_mutexattr_destroy(pthread_mutexattr_t*);对锁进行初始化和破坏锁有两种属性。第一种是进程间的共享。这个不是POSIX属性,然而被Single UNIX Specification所支原创 2008-02-11 21:21:00 · 944 阅读 · 0 评论 -
APUE Chapter 12笔记:Unix下线程的控制(III)
因为看完了最后一段之后就懒得写笔记了,现在补上来。线程的撤销(cancel) 调用pthread_cancel来停止一个线程,而线程有听话和不听话两种可能。如果线程的状态是PTHREAD_CANCEL_ENABLE,那么它在碰到APUE表12.14和12.15中的任何一个函数调用(cancel point)就会停止。如果状态是PTHREAD_CANCEL_DISABLE,那么它会无视CANCEL命原创 2008-03-11 20:29:00 · 907 阅读 · 0 评论 -
APUE阅读笔记:Chapter 15 IPC
阅读前注意:APUE作者推荐本章了解相关技术即可,不要使用。Chapter 1515.2管道是比较传统的IPC方式。有着两个缺点。1、不是所有的系统都支持双通道管道。2、管道只有用于由一个进程fork成的两个进程来使用。FIFO可以解决第二个问题,UNIX domain sockets和命名流管道可以来解决两个问题。一个管道可以用pipe来建立。int pipe(int filedes[2]);f原创 2008-05-18 21:21:00 · 940 阅读 · 0 评论