#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
pthread_mutex_t mutex;
void * my_thread1(void *arg)
{
int fd = *((int *)arg);
while(1)
{
pthread_mutex_lock(&mutex);
write(fd,"hello",5);
write(fd,"world",5);
write(fd,"\n",1);
pthread_mutex_unlock(&mutex);
sleep(1);
}
}
void * my_thread2(void *arg)
{
int fd = *((int *)arg);
while(1)
{
pthread_mutex_lock(&mutex);
write(fd,"hhhhh",5);
write(fd,"wwwww",5);
write(fd,"\n",1);
pthread_mutex_unlock(&mutex);
sleep(1);
}
}
int main()
{
int fd = open("b.txt",O_CREAT | O_RDWR, 0644);
if(fd == -1)
{
perror("open file error!");
exit(1);
}
pthread_t id1;
pthread_t id2;
pthread_create(&id1,NULL,my_thread1,(void *)&fd);
pthread_create(&id2,NULL,my_thread2,(void *)&fd);
pthread_join(id1,NULL);
pthread_join(id2,NULL);
return 0;
}
运行结果: