linux c thread
点击 1991 创建时间 2011-09-02 12:47:15
<p>
include <pthread.h><br />
#include <stdio.h><br />
<br />
struct ThreadParam{ int name; };<br />
<br />
void print_thread(struct ThreadParam *param )<br />
{<br />
int i;<br />
for(i=0;i<5;i++ )<br />
{<br />
printf("thread name=%d\n", param->name );<br />
usleep(10);<br />
}<br />
}<br />
<br />
<br />
int main( int argc , char *argv[] )<br />
{<br />
struct ThreadParam param;<br />
int i;<br />
struct ThreadParam param2;<br />
param.name=1;<br />
pthread_t thread_id;<br />
pthread_create( &thread_id , NULL , (void*)print_thread, &param );<br />
printf("thread id:%d\n", (int)thread_id );<br />
<br />
pthread_t thread_id2;<br />
param2.name=2;<br />
pthread_create( &thread_id2 , NULL , (void*)print_thread, &param2 );<br />
printf("thread id:%d\n", (int)thread_id2 );<br />
<br />
for( i=0; i< 5; i++ )<br />
{<br />
printf("main thread\n");<br />
usleep(10);<br />
<br />
}<br />
pthread_join( thread_id, NULL );<br />
pthread_join( thread_id2, NULL );<br />
return 1;<br />
}</p>
<p> </p> <p> </p> <p> output:</p> <p> $ gcc thread.c -pthread -o thread && ./thread<br /> thread id:-1215411344<br /> thread id:-1223804048<br /> main thread<br /> thread name=2<br /> thread name=1<br /> main thread<br /> thread name=2<br /> thread name=1<br /> main thread<br /> thread name=2<br /> thread name=1<br /> main thread<br /> thread name=2<br /> thread name=1<br /> main thread<br /> thread name=2<br /> thread name=1<br /> $<br /> </p>