随手記一個Linux多程序的demo, 友善以後自己檢視。
/* pthread.c Linux 下多線程demo程式 */
#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
void thread1(void)
{
int i=0;
for(i=0; i<3; i++)
printf("This is in thread1\n");
}
void thread2(void)
{
int i=0;
for(i=0; i<3; i++)
printf("This is in thread2\n");
}
int main(void)
{
pthread_t id1, id2;
int i, ret1, ret2;
ret1=pthread_create(&id1, NULL, (void *)thread1, NULL)
if(ret1!=0)
{
printf("Create pthread1 error!\n")
exit(1);
}
ret2=pthread_create(&id2, NULL, (void *)thread2, NULL)
if(ret2!=0)
{
printf("Create pthread2 error!\n")
exit(1);
}
// main process
for(i=0; i<3; i++)
priintf("This is the main process.\n");
printf("id1=%ld, id2=%ld\n", id1, id2);
// start pthread
pthread_join(id1, NULL);
pthread_join(id2, NULL);
return 0;
}
編譯指令
gcc pthread.c -lpthread -o pthread