APUE
文章平均质量分 72
向太阳
这个作者很懒,什么都没留下…
展开
-
APUE-文件与目录:一个LINUX用户登陆函数
#include #include #include #include #include #include #include pid_t sysuser_login(void); int input_sw(int echo, int block); int pass_shadow( char *passwd); int user_shadow(char *原创 2014-07-17 14:28:07 · 462 阅读 · 0 评论 -
APUE-文件与目录:dup与dup2
dupyu原创 2014-07-17 14:40:16 · 484 阅读 · 0 评论 -
APUE-线程:pthread_create的实现与apue2的区别
#include #include #include #include #include void printf_id(const char *name) { pid_t pid, ppid; pthread_t tid; pid = getpid(); ppid = getppid(); tid = pthread_self(); printf("%s pid = %d原创 2014-07-20 19:04:05 · 653 阅读 · 0 评论 -
APUE:线程:主线程与子线程的关系
#include #include #include #include #include void *pthread_prc(void *arg) { printf("I am pthread_prc\n"); sleep(10); printf("ptherad_prc is over\n"); } int main(int argc, char **ar原创 2014-07-20 20:02:06 · 506 阅读 · 0 评论 -
APUE-线程及其属性:pthread_join与pthread_detach
pthread_join使一个线程等待另一个线程结束。 代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。原创 2014-07-19 15:45:30 · 642 阅读 · 0 评论 -
APUE:线程:读写锁rwlock
读写锁比mutex有更高的适用性,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。 1. 当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞; 2. 当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是以写模式对它进行枷锁的线程将阻塞; 3. 当读写锁在读模式锁状态时,如果有另外线程试图以写模式加锁,读写锁通常原创 2014-07-21 21:16:27 · 576 阅读 · 0 评论 -
APUE:线程:线程池的实现
什么是线程池? 诸如web服务器、数据库服务器、文件服务器和邮件服务器等许多服务器应用都面向处理来自某些远程来源的大量短小的任务。构建服务器应用程序的一个过于简单的模型是:每当一个请求到达就创建一个新的服务对象,然后在新的服务对象中为请求服务。但当有大量请求并发访问时,服务器不断的创建和销毁对象的开销很大。所以提高服务器效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对转载 2014-07-22 08:14:51 · 479 阅读 · 0 评论 -
APUE:进程:wait、waitpid
在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为”孤儿进程”,过继给1号进程init,init始原创 2014-08-03 19:01:04 · 406 阅读 · 0 评论