
linux编程
文章平均质量分 73
woyaozuo2012
大好男儿,须要堂堂正正、勇敢地直面自己所做过的每一件事,不后悔、不逃避。
展开
-
linux小实验(1)---线程
(1)、线程会随创建它的进程死掉而死掉#include #include #include #include void *thread_parent(void *);void *thread_child(void *);int main() { pthread_t t; void* ret; pthread_create(&t,NULL,th原创 2013-09-13 11:25:02 · 790 阅读 · 0 评论 -
linux小实验(4)---线程取消
请问,我在用pthread_cancel函数取消一个线程时,但该线程并没有设置取消点,可是运行出来的结果却和理论值两样。因为我在线程中用了一个for(;;),照理该线程应该一直循环下去,可是该线程却可以退出。该程序如下:#include #include #include #include #include int fd;char buf[40];pthread_mutex_转载 2013-10-01 11:28:20 · 714 阅读 · 0 评论 -
linux小实验(5)---条件变量与互斥量
有了互斥量为什么还要条件变量?如果线程a获得了一个互斥量m,若线程b试图获得这个互斥量将会挂起,直到a释放m。但若a在得到m后,还须要等待一个事件n发生时才会继续执行,那么线程a将会占用m很久,直到事件n发生,这样可能会造成两个结果,(1)如果事件涉及临界资源,可能会死锁(2)即使不死锁,效率也会十分低下。这样,条件变量应运而生,若线程a已获得互斥量m,它在等待条件变量p时,它将解除对原创 2013-10-01 16:55:06 · 806 阅读 · 0 评论 -
linux小实验(2)---环境变量
每个程序都会接收到一张环境表,验证如下://env_show#include extern char** environ;int main(void){ int i; for(i=0;environ[i]!=NULL; i++) { printf("%s\n",environ[i]); } return 0;}一个可能的实验结果原创 2013-09-28 15:45:58 · 659 阅读 · 0 评论 -
linux小实验(3)---fork、signal
进程创建#include #include #include #include #include #include volatile int wait_flag;void change_value(int num);void stop_info(int para);int main(){ int pid1,pid2; signal(2,st原创 2013-09-28 17:20:21 · 2425 阅读 · 0 评论