Avatar billede lifo Nybegynder
03. maj 2003 - 18:39 Der er 4 kommentarer og
1 løsning

Tråd og Database ?

hej
jeg har lavet et program som scanner flere FTP servere
som det er nu scanner det en server og når den er færdig
scanner den næste server
og mens den scanner er alt andet totalt låst

så jeg vil lave scanne funktion i en tråd så man kan se status mens den scanner
og muligvis også lave det således at den kann scanne alle servere på samme tidspunkt

men så kommer såorgsmålet

får jeg problemer med databasen om jeg laver flere tråde der alle sætter ind i databasen ??

jeg bruger HSQLDB
Avatar billede arne_v Ekspert
03. maj 2003 - 18:42 #1
Nej.
Avatar billede soreno Praktikant
03. maj 2003 - 18:43 #2
En løsning kunne være at have én tråd der opdatere databasen. Producer trådene smider det de ønsker indsat i db i en queue og consumer tilføjer til databasen sålænge der er elementer i køen.

Producer -> buffer (queue) -> Consumer

Producer er "scanner trådene"
Consumer er én tråd der skriver til DB.
Avatar billede arne_v Ekspert
03. maj 2003 - 18:46 #3
Ja OK et lidt kort svar.

Men databaser er lavet til at kunne håndtere flere samtidige inserts, så
databasen har ikke noget problem.

Så er der JDBC driveren. Jeg vil foreslå, at du enten laver
en connection per tråd eller bruger en connection pool. Så får du
heller ikke tråd problemer med JDBC driveren.
Avatar billede arne_v Ekspert
03. maj 2003 - 18:48 #4
Brug af database i et multithreaded environment er helt standard
i J2EE  - og HSQLDB er default database i JBoss, så det virker.
Avatar billede lifo Nybegynder
03. maj 2003 - 18:59 #5
ok tak for jeres svar 
så kaster jeg mig over at få det smidt ind i en tråd
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester