Monday, June 16, 2008

MultiThreading

Hi all…

Gw dapet pengetahuan baru nih di dunia c & linux, there is “how to create multi threading application in linux using c”, itu judul bukunya (tapi belum gw buat heheee).

Introduce of multithreading, multithreading adalah cara pengaksesan yang mengijinkan beberapa thread (bisa disebut juga sebagai proses) terjadi dalam satu proses (applikasi), yang saling berbagi sumber daya, tapi dapat dijalankan secara independen.

Berikut adalah implementasi dari multithreading di linux menggunakan c:


#include
#include
#include /* yang di butuhin buat create thread */

/* funsi yang akan dijalankan oleh thread yang memanggilnya */
void *print_message_function( void *ptr );
main()
{

pthread_t thread1, thread2; /* deklarasi thread */
char *message1 = “Thread 1″; /* parameter yang di berikan ke thread */
char *message2 = “Thread 2″;

int iret1, iret2;

/* buat thread, dan setip thread akan menjalankan funsingnya masing - masing */
iret1 = pthread_create( &thread1, NULL, print_message_function, (void*) message1);
iret2 = pthread_create( &thread2, NULL, print_message_function, (void*) message2);

pthread_join( thread1, NULL);
pthread_join( thread2, NULL);


printf(”Thread 1 returns: %d\n”,iret1);
printf(”Thread 2 returns: %d\n”,iret2);

exit(0);

}

void *print_message_function( void *ptr )
{

char *message;

message = (char *) ptr;
printf(”%s \n”, message);

}

Nah lo, dasarnya simple kan b-) ,,,silahkan mencoba ya…. ;)

No comments: