关于linux下多线程编程

关于linux下多线程编程,第1张

pthread_join 线程停止等待函数没有调用

pthread_create 线程生成后,没有等子线程停止,主线程就先停止了。

主线程停止后,整个程序停止,子线程在没有printf的时候就被结束了。

结论:不是你没有看到结果,而是在子线程printf("..................\n")之前整个程序就已经停止了。

#include <stdio.h>

#include <stdlib.h>

#include <sys/types.h>

#include <string.h>

#include <unistd.h>

#include <pthread.h>

#define FALSE -1

#define TRUE 0

void *shuchu( void *dumy )

{

int j

printf("..................\n")

}

int main()

{

int i = 0

int rc = 0

int ret1

pthread_t p_thread1

if(0!=(ret1 = pthread_create(&p_thread1, NULL, shuchu, NULL)))printf("sfdfsdfi\n")

printf("[%d]\n",p_thread1)

pthread_join(p_thread1, NULL)

return TRUE

}

编译时要用到pthread 库:gcc -lpthread

错误码位置:/usr/include/asm-generic/errno.h

gcc pthread_create.c -lpthread

思考:主子线程交替打印奇数偶数。

思考:证明线程可以自己取消自己。

思考:证明SIGKILL和SIGSTOP 是无法阻塞的。

/usr/include/bits/pthreadtypes.h中查看pthread_mutex_t

思考:用多线程将一个文件1.c拷贝3个副本,11.c,12.c,13.c

思考:多个生产者和消费者

思考:将互斥量等初始化使用pthread_once实现。

思考:设置线程的分离属性,然后在新县城中获取自己的分离属性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8589352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存