memang multi tasking dan multi threading beda2 tipis.
tapi yang jelas dari sudut pandang prosesor dan OS,
melakukan banyak pekerjaan yang berbeda disebut multi
tasking. dan kalo sudut pandang aplikasi biasa dikenal
dengan multi threading. idenya sih sama aja.

balik ke pertanyaan ttg. procedure DoEvents. prosedur
ini memang disediakan vb untuk mengatasi kendala mis.
aplikasi kita "freeze" akibat menunggu sebuah proses
yang berjalan agak lama. tapi kebanyakan memakainya
dan bila tidak hati2 dalam alur program, bisa
mengakibatkan aplikasi yang kita anggap sudah exit (di
layar desktop sudah tidak ada) tapi masih ada di task
manager.

bilamana menggunakan DoEvents di dalam sebuah loop
ketika menunggu proses lainnya, juga tidak membantu
dari sisi kerja prosesor, mengingat proses loop itu
sendiri akan membuat prosesor bekerja 100% walau
disana kita sisipi beberapa DoEvents.

pada dasarnya vb memang tidak didesign untuk aplikasi
yang bersifat multi threading. walaupun memang
disediakan kemampuan membuat COM DLL tapi itu juga
tidak membantu banyak. intinya, kita tidak bisa
membuat aplikasi dari vb yang memanggil suatu prosedur
A dalam komponen X, tanpa terpaksa harus menunggu
prosedur A selesai dan membuat "freeze" aplikasi
tersebut. Memang bisa sih dengan menggunakan beberapa
teknik yang agak "tricky" di COM tapi juga tidak
membantu banyak.

mungkin bilamana membutuhkan sangat teknik multi
threading, sebaiknya menggunakan vc++ atau menggunakan
beberapa win API (tapi penggunaan win API di vb tidak
terlalu disarankan oleh microsoft). di vc++ terdapat
teknik yang sangat baik untuk membuat threading. juga
nantinya kita akan ketemu dengan teknik critical
sections, mutexes, semaphores dan events sebagai
sarana sinkronisasi antar thread yang kita buat. kita
juga bisa membuat suatu thread A dan thread B bekerja
bilamana thread C memberi signal, dan thread C
mengunggu sampai thread A dan/atau thread B selesai,
tanpa membuat prosesor bekerja 100%.

btw, untuk penyelesaian masalahnya mas ronny teguh,
mungkin sarannya mas heru rahadyan yang menggunakan
winsock bisa digunakan bilamana tetap harus
menggunakan vb. cuma, harus ada semacam tracking id
yang mengingat kita telah mengirim request A1 dari
komputer A ke komputer B, dan menunggu jawabanya dari
komputer B. Sebab, kalau tidak, kita bisa kesulitan
bila ada request A2 dari A ke B sebelum ada jawaban
untuk A1. Atau malah request A2 lebih dahulu dijawab
sementara A1 masih diproses atau bahkan gagal diproses
karena sesuatu hal misal komputer B dishutdown.
yah....harus ada timeout di A untuk menunggu jawaban B
:-D

another solution, yah....menggunakan DCOM di komputer
B yang dipanggil di dari A (tapi tetap aja screen
aplikasi bisa freeze hehhehehe). Juga penggunaan MSMQ
bisa dipertimbangkan (jadi kaga perlu pake winsock).
blah...blah...blah....banyak jalan menuju ke ROMA :-D
ya kan??? (tapi saya ga punya duit ke sana hehehe)

semoga berguna...kalo ada yang salah mohon segera
diralat, agar saya gak besar2 amat dosanya.

cya,
Iqbal Reza


                
__________________________________ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/


Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/programmer-vb/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Kirim email ke