Assalamualaikum
wr.wb.
Kembali lagi di
blog sederhana saya ya teman-teman :D
Untuk kali ini,
saya akan memberikan sebuah code sebuah apikasi yang menggunakan
thread. Yap, thread. Sebelumnya, saya akan menjelaskan apa itu
sebenarnya thread. Oke, langsung saja ya, nggak perlu panjang lebar
haha, thread dalam sistem operasi adalah pengontrol aliran program
dan pelaksanaan program dengan menggunakan satu buah kendali atau
kendali tunggal. Jadi semua proses di sistem operasi akan di
kendalikan oleh thread tadi.
Salah satu
keuntungan dari thread adalah sangat ampuh untuk mengoptimalkan
prosesor komputer kita. Caranya yaitu dengan menggunakan
Hyperthreading. Hyper Threading bekerja dengan cara memberi intruksi
melalui software untuk membelah diri (splitting) menjadi beberapa
thread (aliran). Teknologi ini menyediakan thread-level paralel di
setiap prosesornya yang membuat penggunaan sumber daya menjadi lebih
efisien dan bisa membuat beberapa thread uuntuk berjalan di setiap
inti (core) prosesor.
Ya seperti yang
sudah saya bilang sebelumnya, saya akan memberikan contoh code yang
menggunakan thread tadi. Aplikasi kali ini merupakan sebuah aplikasi
multimedia, lebih tepatnya aplikasi pemutar musik. Tapi, sebelum
menggunakan aplikasi ini, harus sudah menginstall vlc player di
komputer temen-temen semua, karena dasar dari pemutar musiknya adalah
vlc player tersebut.
Untuk mendapatkan
vlc player nya sendiri bisa di download dan install dari terminal
dengan cara ketik “sudo apt-get update” dan “sudo apt-get
install vlc vlc-plugin-* mozilla-plugin-vlc”.
Langsung saja,
check this out guys....
#include<string.h>
#include<pthread.h>
#include<stdlib.h>
#include<unistd.h>
int rawr;
pthread_t tid[2];
char lagu[20];
int t;
char buf[20];
void* player(void *arg)
{
system(buf);
system("clear");
}
void* help(void *arg)
{
char help[5], cmd[15];
pthread_t id=pthread_self();
while (1)
{
scanf("%s", help);
if (strcmp(help, "help") == 0)
{
while (1)
{
printf("Menu\n");
printf("1. List\t2. Play\t3.Pause\n4. Continue\t5.Stop\n");
printf("Command : ");
scanf("%s", cmd);
if (strcmp(cmd, "Play") == 0)
{
system("clear");
scanf("%s", lagu);
snprintf(buf, sizeof(buf), "cvlc %s.mp3", lagu);
rawr=pthread_create(&(tid[1]), NULL, &player, NULL);
}
else if (strcmp(cmd, "List") == 0)
{
system("clear");
system("ls | grep .mp3");
}
else if (strcmp(cmd, "Pause") == 0)
{
system("clear");
scanf("%d", &t);
sleep(t);
system("pkill -SIGCONT vlc");
}
else if (strcmp(cmd, "Continue") == 0)
{
scanf("%d", &t);
sleep(t);
system("clear");
system("pkill - SIGCONT vlc");
}
else if (strcmp(cmd, "Stop") == 0)
{
system("clear");
scanf("%d", &t);
sleep(t);
system("pkill vlc");
}
}
}
}
return NULL;
}
int main(void)
{
chdir("Music");
int i = 0;
rawr=pthread_create(&(tid[i]),NULL,&help,NULL);
if (rawr != 0)
printf("\ncan't create thread : [%s]", strerror(rawr));
else
//printf("\n Thread created succesfully\n");
i++;
pthread_join(tid[0],NULL);
pthread_join(tid[1],NULL);
return 0;
}
Ya itulah source
code dari aplikasi pemutar music nya. Akan saya sedikit jelaskan
tentang aplikasinya. Jadi, sebelum masuk ke menu, kita harus mengetik
“help” untuk mengeluarkan menunya. Setelah itu akan muncul 5 menu
yaitu List, Play, Pause, Continue, dan Stop. List digunakan untuk
mengetahui apa saja music mp3 yang ada di dalam foder music. Cara
kerja Play yaitu dengan mengetikkan “Play[spasi]Judul_lagu”.
Selanjutnya untuk menu Pause, Continue, dan Stop ditambah angka di
belakangnya yang merupakan hitungan setelah berapa detik dia akan
jeda, lanjut, atau berhenti dari pemutar musik teersebut.
Demikian penjelasan
dari saya kali ini, semoga bisa menambah wawasan teman-teman semua
dan sampai ketemu lagi di artikel saya selanjutnya :)
Wassalamualaikum
wr.wb.
Tidak ada komentar:
Posting Komentar