发布时间:2014-01-14 14:31:05
1、alarm 如果不要求很精确的话,用 alarm() 和 signal() 就够了 unsigned int alarm(unsigned int seconds) 专门为SIGALRM信号而设,在指定的时.........【阅读全文】
发布时间:2014-01-09 14:58:38
上节中我们已经掌握了创建大量内核线程的能力,可惜线程之间还缺乏配合。要知道学习ITC(inter thread communication),和学习IPC(inter process communication)一样,不是件简单的事情。本节就暂且解释一种最简单的线程同步手段—completion。 打开include/linux/completion.h,你就会看到completion使用的全部API。这里.........【阅读全文】
发布时间:2014-01-09 14:55:04
上节中,我们成功地编译运行了一个linux模块。可惜的是,它只有两个函数,hello_init在模块加载时调用,hello_exit 在模块卸载时调用。这样下去,模块纵使有天大的本事,也只能压缩在这两个函数中。为了避免这种悲剧发生,本节就来学习一种让模块在加载后能一直运行下去的方法——内核线程。 要创建一个内核线程有许多种.........【阅读全文】
发布时间:2014-01-05 21:32:20
先上一个代码服务端:[cpp] view plaincopyprint?//s_unix.c #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include.........【阅读全文】