linux下C语言多线程开发学习笔记
来源:互联网 发布:公务员恋爱 知乎 编辑:程序博客网 时间:2024/05/22 17:15
此文章用于日后查看linux多线程编程的相关知识。
1、主进程创建多个线程后,如果不等待线程结束,那么所有线程会随着主进程的结束而结束。
测试代码:
void * pthread1()
{
int data = 0;
while(1)
{
data++;
printf("Pthread1: %d\n",data);
sleep(1);
}
}
void * pthread2()
{
int data2 = 0;
while(1)
{
data2++;
printf("Pthread2: %d\n",data2);
sleep(1);
}
}
int main()
{
pthread_t p1,p2;
pthread_create(&p2,NULL,pthread1,NULL);
pthread_create(&p1,NULL,pthread2,NULL);
while(1)
{
sleep(1);
printf("I am the father\n");
}
return 0;
}
如上所示,如果创建线程后主程序仍然在执行,那么就不用调用pthread_join()函数,如果把主进程中的while(1)去掉则所有线程都会跟着主进程的结束而结束。同理,如果创建完线程主进程就没事做了,那就得把pthread_join()加上去。
2、创建线程时需要注意,各个线程 共享 主进程中的全局变量,如果没有注意这点可能会导致线程2修改了线程1中全局变量的值。
3、互斥锁pthread_mutex可以用于锁住代码段或者锁住全局变量的使用权,用于保证线程的执行顺序。
- linux下C语言多线程开发学习笔记
- linux下C语言多线程
- linux下C语言多线程
- Linux下C语言多线程
- linux下的C语言开发(多线程编程)
- linux下的C语言开发(多线程编程)
- linux下的C语言开发(多线程编程)
- linux下的C语言开发(多线程编程)
- linux下的C语言开发(多线程编程)
- linux下的C语言开发(多线程编程)
- Linux下的C语言开发(多线程编程)
- Linux centOS c语言 多线程编程学习笔记
- Linux下C语言的多线程编程学习
- Linux下C语言的多线程编程学习
- Linux下C语言的多线程编程学习
- 【学习笔记】linux下的c语言的学习
- Linux 下 c 多线程学习
- linux C语言开发 笔记
- mysql 储存函数
- javascript 正则表达式格式化数字字符串
- 前端开源项目周报0207
- Tomcat架构分析概览
- linux驱动板载信息注册
- linux下C语言多线程开发学习笔记
- 你·我 眼中的自动化测试
- Jmockdata 使用介绍(再也不用苦逼的造测试数据了)
- Tomcat架构分析之Connector NIO 实现
- ReentrantLock锁与内置锁synchronized
- Java高并发
- adb shell调试sqlite
- Tomcat架构分析之Connector BIO 实现
- ndk 交叉编译BusyBox心得。