Linux下多线程编程-Pthread与Semaphore的使用
2008-11-20 21:52
摘自:http://www.doczj.com/doc/777db1c7aa00b52acfc7cab7.html 作者: 姚继锋 (2001-08-11 09:05:00)
关键字:Linux多线程Pthread semaphore
简单的多线程编程
Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux下pthread的实现是通过系统调用clone()来实现的。clone ()是Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查看有关文档说明。下面我们展示一个最简单的多线程程序 example1.c。
/* example.c*/
#include
#include
void thread(void)
{
int i;
for( i = 0;i < 3; i++ )
printf("This is a pthread.\n");
}
int main(void)
{
pthread_t id;
int i,ret;
ret = pthread_create( &id, NULL, (void *)thread, NULL );
if ( ret!=0 ) {
printf ("Create pthread error!\n");
exit (1);
}
for( i = 0; i < 3; i++ )
printf("This is the main process.\n");
pthread_join(id,NULL);
return (0);
}