Laporan Pemerograman Berorintasi Objek 8 THREAD

THREAD 1.      Tujuan Agar dapat memahami, menangani dan juga mengunakan sinkronisasi beberapa tread. 2.      Pembahasan             Pada pe...


THREAD

1.     Tujuan
Agar dapat memahami, menangani dan juga mengunakan sinkronisasi beberapa tread.
2.     Pembahasan
            Pada pertemuan 8 ini kita akan mebahas tentang multithreading, multithreading sebagai pemrograman luas dan pelaksanaan model memungkinkan beberapa thread ada dalam konteks sebuah proses tunggal. Model pemrograman threaded menyediakan pengembang dengan abstraksi yang berguna eksekusi bersamaan. Namun, mungkin aplikasi yang paling menarik dari teknologi ini bila diterapkan pada proses tunggal untuk memungkinkan eksekusi paralel pada sistem multiprosesor. Keuntungan dari program multithreaded memungkinkan untuk beroperasi lebih cepat pada sistem komputeryang memiliki beberapa CPU , CPU dengan beberapa core, atau di sebuah clustermesin - karena benang program alamiah sendiri untuk benar-benar bersamaaneksekusi. Dalam hal ini, programmer perlu berhati-hati untuk menghindari kondisi lomba , dan lain-intuitif perilaku non. Agar data yang akan dimanipulasi dengan benar, jalan yang sering akan perlu untuk bertemudalam waktu untuk mengolah data tersebut dengan urutan yang benar. Threads mungkin juga memerlukan saling-eksklusifoperasi (sering diimplementasikan dengan menggunakan semaphores) untuk mencegah data umum dari yang bersamaan dimodifikasi, atau membaca sedangkan dalam proses sedang dimodifikasi. Untuk lebih jelasnya dapat dilihat pada program dibawh ini,
class PrintNameThread extends Thread {
    PrintNameThread(String name) {
    super(name);
    start(); //menjalankan thread    }
public void run() {
  String name = getName();
  for (int i=0; i<10; i++) {
    System.out.print(name);}    }     }
public class TestThread1 {
    public static void main(String[] args) {
       PrintNameThread pnt1=new PrintNameThread("A,");
       PrintNameThread pnt2=new PrintNameThread("B,");
       PrintNameThread pnt3=new PrintNameThread("C,");
       PrintNameThread pnt4=new PrintNameThread("D,");  }
                        }
Prorgaram diatas akan dijalankan dan hasilnya adalah program saling dahulu mendahului ini karna proses tidak diberi syncronisasi yang menyebabkan program berjalan lebih dari satu kali
class TwoStrings {
    static void print (String str1, String str2) {
        System.out.println(str1);
        try {
            Thread.sleep(500); }
catch (InterruptedException ie) {
            }
        System.out.println(str2);}  }
class PrintStringsThread implements Runnable {
    Thread thread;
    String str1, str2;
    PrintStringsThread(String str1, String str2) {
        this.str1=str1;
        this.str2=str2;
        thread=new Thread (this);
        thread.start();       }
    public void run() {
        TwoStrings.print(str1, str2);}    }
public class TestThread3 {
    public static void main(String[] args) {
        new PrintStringsThread("Hello", "there.");
        new PrintStringsThread("How are", "you?");
        new PrintStringsThread("Thank you", "very much!");  }     }
program diatas  merupakan program tread yang telah diSyncronisasi sehingga program berjalan secara beraturan dan tidak saling mendahului.
3.     Latihan
Terlampir delisting.
4.     Tugas
1.      Jelaskan tentang komunikasi antar thread dan buatlah contoh programnya.
Jawab :
Threads dalam proses yang sama berbagi ruang alamat yang sama. Hal ini memungkinkan-menjalankan kode secara bersamaan dengan pasangan erat dan mudah bertukar data tanpa overhead atau kompleksitas suatu IPC. Ketika bersama antara benang, bagaimanapun, struktur data sederhana yang bahkan menjadi rentan terhadap bahaya ras jika mereka membutuhkan lebih dari satu instruksi CPU untuk memperbarui: dua thread dapat berakhir mencoba untuk memperbarui struktur data pada waktu yang sama dan menemukan perubahan permukaan tanah yang tak terduga.
Contoh programnya,
class TwoStrings{
synchronized static void print(String str1, String str2){
System.out.print(str1);
try{
Thread.sleep(500);      }
catch (InterruptedException ie){    }
System.out.println(str2);     }     }
class PrintStringsThread implements Runnable{
    Thread thread;
    String str1, str2;
    PrintStringsThread(String str1, String str2){
        this.str1 = str1;
        this.str2 = str2;
        thread = new Thread(this);
        thread.start(); }
    public void run(){
    TwoStrings.print(str1, str2);   }     }
public class TestTheard1{
    public static void main(String args[]){
        new PrintStringsThread("1. masukkan"," No. PIN kartu ATM");
        new PrintStringsThread("2. pilih menu"," penarikan tunai");
        new PrintStringsThread("3. Masukkan jumlah nominal", " uang yang akan ditarik");
        new PrintStringsThread("4. Tekan tanda", " OK");
        new PrintStringsThread("5. Transaksi pengambilan uang selesai", "pilih menu lain ");

            Hasil
            run:
1.  Masukkan kartu dan No. PIN kartu ATM
3. Masukkan jumlah nominal uang yang akan ditarik
2. pilih menu penarikan tunai
5. Transaksi pengambilan uang selesaipilih menu lain
4. Tekan tanda OK
BUILD SUCCESSFUL (total time: 4 second)
2.  Perbedaan antara sincronisasi pada method dengan sinkronisasi pada objek
     Jawab :
Jika pada method untuk mengunci struktur data terhadap akses bersamaan. Jika pada objek maka hasil pada saat dijalankan akan beraturan dan tidak saling dahulu mendahului.
5. Kesimpulan
            Multithreading sebagai pemrograman luas dan pelaksanaan model memungkinkan beberapa thread ada dalam konteks sebuah proses tunggal. Model pemrograman threaded menyediakan pengembang dengan abstraksi yang berguna eksekusi bersamaan.
6. Listing

                        Terlampir

COMMENTS

Name

berita,9,fahsion,3,gempha news,5,gender,5,IT,52,kesehatan,39,lirik lagu,8,MAKALAH,5,materi,13,sejarah,8,tentang pmii,17,uin jember,2,warta,14,
ltr
item
Gerakan Mahasiswa Pembaharuan - PMII Yogyakarta: Laporan Pemerograman Berorintasi Objek 8 THREAD
Laporan Pemerograman Berorintasi Objek 8 THREAD
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZiCO9X0V4u9id-I1afdRTn6r6XAz44Q1JUdMCRIVU94NuEXlUlVEodba9QqvOIGNIjQqLARjy1kUHKuk7nSAZ1dowAE5qXmdslPB6VpErc1hrl3D3Yu6cF8nGtXHuMvbAD5wCon3PZ_o/s640/database-management-system.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZiCO9X0V4u9id-I1afdRTn6r6XAz44Q1JUdMCRIVU94NuEXlUlVEodba9QqvOIGNIjQqLARjy1kUHKuk7nSAZ1dowAE5qXmdslPB6VpErc1hrl3D3Yu6cF8nGtXHuMvbAD5wCon3PZ_o/s72-c/database-management-system.jpg
Gerakan Mahasiswa Pembaharuan - PMII Yogyakarta
https://pmiigempha.blogspot.com/2017/07/laporan-pemerograman-berorintasi-objek.html
https://pmiigempha.blogspot.com/
https://pmiigempha.blogspot.com/
https://pmiigempha.blogspot.com/2017/07/laporan-pemerograman-berorintasi-objek.html
true
3388097559341598177
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy