admin 管理员组文章数量: 1184232
2024年3月13日发(作者:个人简历模板下载word格式免费下载)
linux多线程编程实例
Linux多线程编程实例:
1、使用pthread库实现多线程:
#include
// 各线程运行函数 void *thread_func1(void* arg)
{ printf("Thread 1 runningn"); return
NULL; }
void *thread_func2(void* arg)
{ printf("Thread 2 runningn"); return
NULL; }
int main(int argc, char **argv) { pthread_t
tid1,tid2;
//创建新的线程
pthread_create(&tid1,NULL,thread_func1,NULL);
pthread_create(&tid2,NULL,thread_func2,NULL);
// 等待线程结束 pthread_join(tid1,NULL);
pthread_join(tid2,NULL); return 0; }
2、使用POSIX信号量实现多线程:
#include
// 各线程运行函数 void *thread_func1(void* arg)
{ sem_wait((sem_t *)arg); printf("Thread 1
runningn"); sem_post((sem_t *)arg); return
NULL; }
void *thread_func2(void* arg)
{ sem_wait((sem_t *)arg); printf("Thread 2
runningn"); sem_post((sem_t *)arg); return
NULL; }
int main(int argc, char **argv) { sem_t sem;
pthread_t tid1,tid2;
// 初始化信号量 sem_init(&sem,0,1);
//创建新的线程
pthread_create(&tid1,NULL,thread_func1,&sem);
pthread_create(&tid2,NULL,thread_func2,&sem);
// 等待线程结束 pthread_join(tid1,NULL);
pthread_join(tid2,NULL);
// 销毁信号量 sem_destroy(&sem);
return 0; }
版权声明:本文标题:linux多线程编程实例 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710274927a565606.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论