前序:
本人菜鸟学生一枚,从5月9号开始学习Linux,到现在整整一个月了,这一个月真的收获很大,特别充实。
由于毕业课题项目提前做完了,论文也写完了,坐等毕业的节奏,但是距毕业还有差不多一年的时间,感觉这段时间不应该就这么荒废掉,应该做点有意义的事情。
之前都是搞裸机项目,从来没有接触操作系统,一直对它挺好奇的,现在终于有了充裕的时间可以干自己想干的事情了,所以决定学习一下Linux。自从入手,真是欲罢不能,这一个月每天的时间基本上都在看书和敲代码。
最开始是从鸟哥的Linux私房菜开始入手的,5月9号买下,5月25号基本看完,后面有些章节没看。5月25号买下apue,开始深入研究这本圣经,在看的时候真是给人一种意犹未尽和欲罢不能的感觉,不愧为一本经典之作。介绍的确实很深入,但大部分还是可以看懂的,很多地方真是值得细细品味。边看书、边敲代码、边时不时的搜一下相关内容的博客补充理解,不知不觉,全书已经看完了一半,现在刚刚看完第12章——线程控制。
自己的能量超乎了我的想象,入手时都说这本书很难,真是有些担心自己看不进去,没想到自己的进度会这么快,更没想到自己居然能激发出这么大兴趣,兴趣真的很重要。
半个月,看完了一半,匆匆走过,是时候回头做做总结了,是时候做点笔记了,就先从线程这一章开始吧。
自己的字太丑了,就用博客记录读书笔记吧!由于是菜鸟,自己的博客仅作自己的学习笔记之用。
线程标识
线程创建
线程终止
线程终止方式:等待线程终止并获取终止状态
对于以可结合状态启动的线程(线程属性为PTHREAD_CREATE_JOINABLE)#include "apue.h"
#include <pthread.h>
void * thread_func(void * arg);
char s[]="Hello word!";
int main(void)
{
int res;
pthread_t td;
void * retval;
printf("main starting\n");
res=pthread_create(&td,NULL,thread_func,s);
if(res!=0)
{
printf("thread create error");
return(1);
}
if(pthread_join(td,&retval)!=0)
{
printf("pthread_join error\n");
return(1);
}
printf("thread1 return: %s\n",(char *)retval);
printf("Now,the s becomming: %s\n",s)