【Linux C程序设计】创建多线程
2015-06-04 09:47
573 查看
#include<stdio.h> #include<stdlib.h> #include<pthread.h> void* thfn(void* arg) { pid_t pid; pthread_t tid; pid = getpid(); tid = pthread_self(); printf("the new thread :pid is :%u ,tid is %u\n",(unsigned int )pid,(unsigned int)tid); return NULL; } int main() { pid_t pid; int err; pthread_t tid,mtid; pid = getpid(); mtid = pthread_self(); //获取线程ID err = pthread_create(&mtid,NULL,thfn,NULL);//创建线程 printf("%d\n",err); sleep(1);//休眠一秒钟 printf("the main thread :pid is :%u ,tid is %u\n",(unsigned int )pid,(unsigned int)mtid); }pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。
问题解决:
在编译中要加 -lpthread参数
gcc thread.c -o thread -lpthread
thread.c为你些的源文件,不要忘了加上头文件#include<pthread.h>
编译gcc -lpthread printtid.c -o printtid
相关文章推荐
- linux下搭建svn代码库
- I2C-pcf8563
- linux在shell中获取时间
- CentOS制作本地yum源配置说明
- Ubuntu下VIM的安装及其配置——Linux篇
- RSYNC的介绍和配置
- Linux 定时任务
- Linux-HA3.0版安装说明
- 在Centos 5.x或6.x上安装RHEL EPEL Repo
- 就这样,在Linux的路上越走越远
- vmware里面的linux怎么和windows相互传文件
- Linux文件句柄限制分析
- Linux 性能监测:介绍
- linux的swap的开关和buffer,cache等清理
- 如何清空linux的DNS缓存
- maven linux 下编译,包含rt.jar
- linux中的vi命令
- linux中的vi命令
- Linux引导流程解析(3)
- Linux下编译安装PCRE库