Apa itu Parallel Computing dengan Pthread

POSIX Thread, biasanya disebut sebagai pthreads, adalah standar POSIX untuk benang. Standar, POSIX.1c, Thread ekstensi (IEEE Std 1003.1c-1995), mendefinisikan sebuah API untuk menciptakan dan memanipulasi Pthread, sehingga bisa digunakan untuk parallel computing

Implementasi dari API yang tersedia pada banyak Unix-seperti POSIX-konforman sistem operasi seperti FreeBSD, NetBSD, OpenBSD, GNU / Linux, Mac OS X dan Solaris. DR-DOS dan Microsoft Windows implementasi juga ada: dalam subsistem SFU / SUA yang menyediakan implementasi asli dari sejumlah POSIX API, dan juga di dalam paket pihak ketiga seperti pthreads-W32, [1] yang mengimplementasikan pthreads di atas ada Windows API.

Pthreads mendefinisikan satu set jenis bahasa pemrograman C, fungsi dan konstanta. Hal ini diimplementasikan dengan header pthread.h dan library thread.

Ada sekitar 100 pthreads prosedur, semua diawali “pthread_” dan mereka dapat dikategorikan menjadi empat kelompok:

  • Topik manajemen – menciptakan, join thread dll
  • Mutexes.
  • Kondisi variable.
  • Sinkronisasi antara thread menggunakan membaca / menulis kunci dan hambatan.

Semafor API POSIX bekerja dengan thread POSIX tetapi bukan bagian dari thread standar, yang telah didefinisikan dalam, POSIX.1b Real-time ekstensi (IEEE Std 1003.1b-1993) standar. Akibatnya prosedur semafor diawali oleh “sem_” bukan “pthread_”.

Kompilasi ini menggunakan compiler GCC standar memerlukan penggunaan operator baris perintah “-pthread” untuk mengkompilasi, sehingga garis untuk mengkompilasi mungkin membaca: “gcc-pthread pthread_program.c”.

Sebuah contoh yang menggambarkan penggunaan pthreads di C:

#include <pthread.h>

#include <stdio.h>

#include <stdlib.h>

#include <assert.h>

#define NUM_THREADS     5

void *TaskCode(void *argument)

{

int tid;

tid = *((int *) argument);

printf(“Hello World! It’s me, thread %d!\n”, tid);

return NULL;

}

1 thoughts on “Apa itu Parallel Computing dengan Pthread

  1. Aldi Albu berkata:

    Programnya ga bisa di compile di Dev C++

Tinggalkan komentar