Multi Thread

Multi threading adalah kemampuan sebuah program untuk melakukan lebih dari satu pekerjaan sekaligus. Keuntungan dari multithreading adalah sifat respons yang interaktif dan real-time. Arti istilah Multithreading dianggap berkaitan erat dengan pengertian multi thread merupakan jalannya beberapa proses dengan urutan yang cepat (multitasking) dalam satu program. Multithreading ini merupakaan teknik pada manipulasi data dimana node-node pada struktur pohon data berisi penunjuk ke node yang lebih tinggi untuk membuat lintasan struktur menjadi lebih efisien.

Keuntungan dari sistem yang menerapkan multithreading dapat kita kategorikan menjadi 4 bagian:

Responsif. Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan gambar.

Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.

Ekonomis. Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching thread. Akan susah mengukur perbedaan waktu antara thread dan switch, tetapi secara umum pembuatan dan pengaturan proses akan memakan waktu lebih lama dibandingkan dengan thread. Pada Solaris, pembuatan proses memakan waktu 30 kali lebih lama dibandingkan pembuatan thread sedangkan proses context switch 5 kali lebih lama dibandingkan context switching thread.

Utilisasi arsitektur multiprosesor. Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel, tetapi pada kenyataanya hanya satu thread yang dijalankan CPU pada satu-satuan waktu.

MultiThreading sendiri mempunyai tiga model Multithreading yaitu:

  • Many to one
  • One to one
  • Many to many

Contoh Programnya :


using System;

namespace MultiThreading
{
    class Program
    {
        static void Kumpo2()
        {
            int a = 100;
            for (int i = 0; i <= a; i++)
            {
                Console.WriteLine("Multithreading cetak kedua");
            }
        }
        static void Kumpo3()
        {
            int a = 100;
            for (int i = 0; i <= a; i++)
            {
                Console.WriteLine("Multithreading cetak ketiga");
            }
        }
        static void Main(string[] args)
        {
            Thread data2 = new Thread(Kumpo2);
            Thread data3 = new Thread(Kumpo3);

            data2.Start();
            data3.Start();

            int a = 100;
            for (int i = 0; i <= a; i++)
            {
                Console.WriteLine("Multithreading cetak pertama");
            }
            Console.ReadKey(true);
        }
    }
}

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s