#include
#include
void printfids(const char* s)
{
printf("%s pid:%u tid:%u\n", s, getpid(),pthread_self());
}
void *thr_fn(void *arg)
{
printfids("new thread:");
}
int main(void)
{
int err = 0;
pthread_t pid = 0;
err = pthread_create(&pid,NULL,thr_fn,NULL);
if(0 != err)
{
printf("could not create thread:%s\n",strerror(err));
}
printfids("main thread:");
//sleep(1);
//exit(0);
}
输出为:
main thread: pid:4386 tid:3076028096
new thread: pid:4386 tid:3076025152
new thread: pid:4386 tid:3076025152
为什么new执行来两次,有没有人了解线程到执行到,麻烦解释一下。还有为什么我把最后两行到注释打开,就main和new各一次?
haimeishan 于 2013-12-21 10:17:43发表:
非常好
caihongbo 于 2012-11-07 19:13:45发表:
多线程与在windows下有什么区别呢?
baggio1006 于 2012-11-07 16:00:40发表:
查资料,置顶帖