pthread_create是类Unix操作系统(Unix、Linux、Mac OS X等)的创建线程的函数。
来源:互联网 发布:jre源码下载 编辑:程序博客网 时间:2024/05/22 16:54
int
pthread_create(pthread_t *tidp,
const
pthread_attr_t *attr,
(
void
*)(*start_rtn)(
void
*),
void
*arg);
返回值
若线程创建成功,则返回0。若线程创建失败,则返回出错编号,并且*thread中的内容是未定义的。
参数
第一个参数为指向线程标识符的指针。
第二个参数用来设置线程属性。
第三个参数是线程运行函数的起始地址。
最后一个参数是运行函数的参数。
注意事项
因为pthread并非Linux系统的默认库,而是POSIX线程库。在Linux中将其作为一个库来使用,因此加上 -lpthread(或-pthread)以显式链接该库。函数在执行错误时的错误信息将作为返回值返回,并不修改系统全局变量errno,当然也无法使用perror()打印错误信息。
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#include <string.h>
void
printids(
const
char
*s)
{
pid_t pid;
pthread_t tid;
pid = getpid();
tid = pthread_self();
printf
(
"%s pid %u tid %u (0x%x)\n"
, s, (unsigned
int
) pid,
(unsigned
int
) tid, (unsigned
int
) tid);
}
void
*thr_fn(
void
*arg)
{
printids(
"new thread: "
);
return
NULL;
}
int
main(
void
)
{
int
err;
pthread_t ntid;
err = pthread_create(&ntid, NULL, thr_fn, NULL);
if
(err != 0)
printf
(
"can't create thread: %s\n"
,
strerror
(err));
printids(
"main thread:"
);
pthread_join(ntid,NULL);
return
EXIT_SUCCESS;
}
0 0
- pthread_create是类Unix操作系统(Unix、Linux、Mac OS X等)的创建线程的函数。
- pthread_create是UNIX环境创建线程函数
- 操作系统Unix、Windows、Mac OS、Linux的故事
- 操作系统Unix、Windows、Mac OS、Linux的故事
- 操作系统Unix、Windows、Mac OS、Linux的故事 科普篇
- 操作系统Unix、Windows、Mac OS、Linux的故事
- 操作系统Unix、Windows、Mac OS、Linux的故事
- 操作系统Unix、Windows、Mac OS、Linux的故事
- 操作系统Unix、Windows、Mac OS、Linux的故事
- windows/MAC/Linux/Unix/iOS/android(主流的OS)
- Mac OS X ,Windows,Unix-like上的“换行”
- 管理 Java 类路径(UNIX 和 Mac OS X)
- 管理 Java 类路径(UNIX 和 Mac OS X)
- 管理 Java 类路径(UNIX 和 Mac OS X)
- 黑马程序员——Mac OS X终端的常用操作命令(UNIX指令)
- Shell入门:掌握Linux,OS X,Unix的Shell环境
- linux 线程创建函数pthread_create的几个传参方式
- linux 线程创建函数pthread_create的几个传参方式
- 设计模式笔记(八)--迭代器模式、组合模式
- EditText设置可以编辑和不可编辑状态
- POJ 2115 C Looooops(单变元模线性方程)
- poj2362Square
- Sublime Text 2:安装使用ctags
- pthread_create是类Unix操作系统(Unix、Linux、Mac OS X等)的创建线程的函数。
- android cookie持久化
- Android 仿微信联系人Demo
- C语言malloc和free实现原理
- 如何使用Node Profiler
- VC中句柄、指针、ID之间的转换
- hdu3085(双向BFS)
- ListView 强制停止滚动
- 深入浅出CChart 每日一课——快乐高四第十课 见微知著,CChart内置功能介绍之数据处理篇