首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请教一下红色字体处的区别,及pthread_self()和pthread_creat()函数第一个参数的区别

2012-03-08 
请问一下红色字体处的区别,及pthread_self()和pthread_creat()函数第一个参数的区别?#include stdio.h#i

请问一下红色字体处的区别,及pthread_self()和pthread_creat()函数第一个参数的区别?
#include <stdio.h>
#include <pthread.h>
#include <unistd.h> /*getpid()*/

void *create(void *arg)
{
  printf("New thread .... \n");
  printf("This thread's id is %u \n", (unsigned int)pthread_self()); printf("The process pid is %d \n",getpid());
  return (void *)0;


int main(int argc,char *argv[])
{
  pthread_t tid;
  int error;

  printf("Main thread is starting ... \n");

  error = pthread_create(&tid, NULL, create, NULL);

  printf("thread id is %d.\n", tid); if(error)
  {
  printf("thread is not created ... \n");
  return -1;
  }
  printf("The main process's pid is %d \n",getpid());
  sleep(1);
  return 0;
}

[解决办法]
你使用的格式符不一样,一个是%u,一个是%d

热点排行