分类: C/C++
2013-12-12 11:10:09
#include
#include
#include
void* func(void *arg);
pthread_mutex_t mutex;
int main(int argc,char *argv[])
{
int err;
if(argc<2)
exit(1);
pthread_t td1,td2;
pthread_mutex_init(&mutex,NULL);
if((err=pthread_create(&td1,NULL,func,(void*)argv[1]))!=0)
{
printf("td1 create failed %d\n",err);
exit(1);
}
if((err=pthread_create(&td2,NULL,func,(void*)argv[2]))!=0)
{
printf("td2 create failed %d\n",err);
exit(1);
}
pthread_join(td1,NULL);
pthread_join(td2,NULL);
return 0;
}
void* func(void* arg)
{
char *a=(char*)arg;
//pthread_mutex_lock(&mutex); 加锁和不加锁是完全的两种结果
while(*a!='\0')
{
printf("%c",*a);
/*清空文件缓冲区,文件以写方式打开时将缓冲区内容写入文件
fflush(stdin)刷新标准输入缓冲区,把输入缓冲区的东西丢弃(非标准)
fflush(stdout)刷新标准输出缓冲区,把输出缓冲区的东西打印到标准输出设备上
printf("*************");后面加ffush(stdout)可提高打印效率*/
fflush(stdout);
a++;
sleep(1);
}
printf("\n");
// pthread_mutex_unlock(&mutex);
}