日期:2014-05-16 浏览次数:20982 次
/*program 1*/
void thread1()
{
int i;
for(i=0;i<100;i++)
{
printf("%s",thread1);
sleep(1);
}
}
void thread2()
{
int i;
for(i=0;i<100;i++)
{
printf("%s",thread2);
sleep(2);
}
}
void main()
{
int ret1,ret2;
pthread_t id1,id2;
int i;
ret1 = pthread_create( &id1, NULL, (void *)thread1, NULL);
ret1 = pthread_create( &id1, NULL, (void *)thread1, NULL);
for(i=0;i<100;i++)
{
printf("%s",thread3);
sleep(3);
}
pthread_join(id1,NULL);
pthread_join(id2,NULL);
pthread_cancel(id1);
pthread_cancel(id2);
}
/*program 2*/
void thread1(void (*thr)())
{
int i;
for(i=0;i<100;i++)
{
printf("%s",thread1);
sleep(1);
}
thr();
}
void thread2()
{
int i;
for(i=0;i<100;i++)
{
printf("%s",thread2);
sleep(2);
}
}
void main()
{
int ret1;
pthread_t id1;
int i;
ret1 = pthread_create( &id1, NULL, (void *)thread1(thread2), NULL);
for(i=0;i<100;i++)
{
printf("%s",thread3);
sleep(3);
}
pthread_join(id1,NULL);
pthread_cancel(id1);
}