Arsip: Tabrakan di TADOConnection

 
user image
more 16 years ago

Akuna-Matata

halu... Saya membuat aplikasi database multithread yg memakai (hanya) 1 TADOConnection utk masing2 thread yg berjalan. Dalam beberapa kejadian, threads saling mengakses TADOquery secara bersamaan. Tak lama muncul pesan error "Connection is busy with results for another command...bla bla bla" Setelah diakali dgn menggunakan synchronize (atau TCritical section) dalam masing2 thread, masalah ini hilang. Tapi saya penasaran..apakah ini keterbatasan dari TADOConnection, yg berarti tidak thread save ? atau ada settings yg saya lupa ? bagaimana dgn alternatif koneksi yg lain (misalnya Zeos) apakah saya akan mengalami hal yg sama ? fyi, databasenya MS SQL Server. Trims tanggapannya...
user image
more 16 years ago

danieljun

bisa begitu ya? hehehe
user image
more 16 years ago

DelphiExpert

ADOConnection thread safe, baiknya dikau pahami terlebih dahulu maksud dari kata thread safe.
Dalam beberapa kejadian, threads saling mengakses TADOquery secara bersamaan.
TADOquery query tsb. menggunakan 1 connection yg harus me-maintenance synkronisasi ke database file / server, karena menggunakan 1 connection, terjadilah 'tabrakan' :mrgreen: utk keperluan dikau, saran daku baiknya gunakan Connection Pool. Dalam lingkungan multithread performance-nya akan nyata daripada menggunakan 1 ADOConnection yg di share ke beberapa TADOQuery/TADOTable & menerapkan synchronize antar proses (terjadilan queue yg menyebabkan performance drop) terapkan teknik getConnection & releaseConnection pada Connection Pool, 1 thread 1 connection, dan tiap TADOQuery/TADOTable yg digunakan harus menggunakan koneksi dari 1 connection yg didapat tsb. jangan lupa setelah connection di dapat harus dikembalikan lagi ke pool manager agar dpt digunakan oleh thread2 lain yg melakukan request (managemen pool memang mengharuskan melakukan itu, request->restore).
user image
more 16 years ago

Akuna-Matata

Aaaaah bgitu tohhhh. tanya lagi : Connection pool ini bikinnya dimana ya ? tenkyu bro. @danieljun: tuh pan, thread safe. bukan thread save...:mrgreen:
user image
more 16 years ago

DelphiExpert

tanya lagi : Connection pool ini bikinnya dimana ya ?
bikinnya di komputer-mu, masa' di komputer-ku xixixi :mrgreen: coba search, tanya mbah google, cari di wiki2... banyak koq yg ngulas (teori sih & kalo beruntung dapet implementasinya) hihi koq malah maen untung2an... ini salah satunya http://en.wikipedia.org/wiki/Connection_pool
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com