linux下多线程的使用 pthread_create()
2017-05-14 18:05
411 查看
原型:
下面是一个多线程的简单例子
多线程编译的时候,不太一样
运行
可以看到结果
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg);
用法:#include <pthread.h> 功能:创建线程(实际上就是确定调用该线程函数的入口点),在线程创建以后,就开始运行相关的线程函数。 说明:thread:线程标识符; attr:线程属性设置; start_routine:线程函数的起始地址; arg:传递给start_routine的参数; 返回值:成功,返回0;出错,返回-1。
下面是一个多线程的简单例子
/* XianCheng1.c */ #include<stdio.h> #include<pthread.h> #include <unistd.h>//调用延时 void *Thread_1(void*arg) { int m,*i=(int*)arg; for(m=0;m<*i;m++) { printf("线程1 :%d\n",m); sleep(1);//延时1秒 } } int main() { pthread_t pid1; int p=5; if(pthread_create(&pid1,NULL,Thread_1,&p)) return -1; else { int n; for(n=0;n<7;n++) { printf("主线程:%d\n",n); sleep(1);//延时1秒 } } //等待线程结束 pthread_join(pid1,NULL); return 0; }
多线程编译的时候,不太一样
gcc XianCheng1.c -o XianCheng1 -lpthread
运行
./XianCheng1
可以看到结果
gcc XianCheng1.c -o XianCheng1 -lpthread stu@ubuntu:~/zhangbing2/Mycode/XianCheng$ ./XianCheng1 主线程:0 线程1 :0 主线程:1 线程1 :1 主线程:2 线程1 :2 主线程:3 线程1 :3 主线程:4 线程1 :4 主线程:5 主线程:6
相关文章推荐
- linux 多线程时出错:Create pthread error! Resource temporarily unavailable
- Linux多线程实例练习 - pthread_create()
- 【Linux】【多线程】【Research_Record】pthread使用
- Linux下运行多线程——undefined reference to 'pthread_create'问题两种解决方法
- linux下编译多线程程序, undefined reference to `pthread_create',undefined reference to `pthread_join'
- Linux 多线程编程使用pthread_creat()函数条件
- linux 下线程使用(使用pthread_create)转
- 在Linux系统下使用pthread_create和sleep函数实现随机序列
- linux下c++使用pthread_create时需要调用类成员
- Linux 中Eclipse开发C++ 11使用pthread_create()问题
- linux 下线程使用(使用pthread_create)
- Linux-pthread_create使用不当可能导致内存泄露
- 专题一 Linux下多线程编程——使用Pthread线程库
- Linux下多线程编程__线程的创建pthread_create与退出pthread_exit,等待当前线程退出pthread_join,获取线程ID pthread_self
- pthread_create 多线程-linux
- linux 下线程使用(使用pthread_create)
- linux应用程序使用到的保护机制 semaphore和pthread_mutex
- [Linux]解决使用mdev时“cannot create /proc/sys/kernel/hotplug: nonexistent directory”错误
- linux中使用pthread_kill函数测试线程是否存活的例子