线程
/1.创建一个子线程,子线程执行循环输出10次”hello,world”,
主线程循环100次输出”123456”,如此循环 50 次,试写出代码。/
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>
pthread_mutex_t mutex;
void printf_fun(char *buf)
{
int i=0;
for(i=0;i<10;i++)
printf("%s\n",buf);
}
void *pth_work(void *arg)
{
pthread_mutex_lock(&mutex);
printf_fun("hello,world");
pthread_mutex_unlock(&mutex);
pthread_exit(NULL);
}
int main(void)
{
int i=0;
int cnt=0;
pthread_mutex_init(&mutex,NULL);//创建普通锁
int data[5]={1,2,3,4,5};
//创建线程
pthread_t pthid;
while(1)
{
for(i=0;i<50;i++)
{
pthread_create(&pthid,NULL,pth_work,(void *)&data[0]);
pthread_mutex_lock(&mutex);
for(cnt=0;cnt<10;cnt++)
printf_fun("123456");
pthread_mutex_unlock(&mutex);
sleep(1);
}
if(i==50)
break;
}
return 0;
}