Skip to main content

Apa itu objek aktif?

Dalam pemrograman dan rekayasa komputer, objek aktif adalah jenis pola desain yang dapat digunakan untuk membantu memastikan bahwa beberapa layanan selalu tersedia dalam sistem multi-threaded atau bersamaan.Objek aktif adalah objek yang mengimplementasikan suatu mekanisme sehingga dapat menerima dan memproses input dari objek eksternal tanpa memaksa objek eksternal untuk menunggu eksekusi selesai.Mekanisme ini juga memungkinkan banyak objek yang semuanya mungkin berjalan secara bersamaan untuk menggunakan objek aktif tanpa kemungkinan waktu pemblokiran yang lama di mana proses bersamaan harus berhenti dan menunggu akses.Ini paling sering dicapai dengan membungkus objek aktif dalam antarmuka yang dapat diakses publik, yang disebut proxy, dan kemudian menerapkan jenis sistem antrian di dalam objek sehingga pesan disimpan untuk pemrosesan selanjutnya.Ini menciptakan pola desain di mana objek mengirim pesan ke objek aktif dan kemudian melanjutkan pemrosesannya sampai objek aktif memproses pesan dan kemudian menginformasikan objek panggilan hasil sehingga mereka dapat memperbarui status mereka sesuai.

di luar pola desain objek aktif Objek aktif, objek normal mungkin disebut objek pasif.Dalam contoh program sederhana, objek pasif mungkin bertindak sebagai server server obrolan, di mana objek jarak jauh menghubungi objek pasif untuk mengirimkan pesan ke semua orang di server.Setiap kali objek server pasif menerima pesan obrolan dari objek jarak jauh, ia harus menangani permintaan segera dan kemudian segera mengirim output, semuanya sementara objek jarak jauh menghentikan eksekusi sendiri sampai proses dilakukan, efek yang dikenal sebagai pemblokiran.Membuat utas yang berbeda dalam program dapat menyelesaikan masalah pemblokiran eksekusi tetapi kemudian memulai masalah dengan sinkronisasi.

Dalam pola desain objek aktif, objek server yang sama dalam contoh di atas akan berjalan di utasnya sendiri terpisah dari objek lain.Ini juga akan dibungkus dalam beberapa jenis antarmuka yang dikenal sebagai proxy yang juga berjalan di utas terpisah, kadang -kadang utas eksekusi program utama.Ketika objek jarak jauh ingin membuat objek server mengirimkan pesan obrolan, itu menghubungi objek proxy, meneruskan semua informasi yang diperlukan, dan kemudian kembali ke status eksekusi normal alih -alih menunggu.

Antarmuka proxy kemudian dikonversiInformasi dari objek jarak jauh ke dalam pesan yang disampaikan ke antrian untuk diproses oleh objek aktif.Pada titik ini, baik antarmuka proxy dan objek jarak jauh bebas untuk terus mengeksekusi dan tidak diblokir.Sementara itu, objek aktif berfungsi untuk menjaga antrian kosong, memproses setiap pesan yang masuk.Jika objek panggilan memerlukan beberapa informasi untuk dikembalikan oleh objek aktif, maka struktur panggilan balik dapat digunakan untuk menginformasikan objek jarak jauh dari setiap perubahan dalam keadaan.