Avatar billede kube Nybegynder
11. oktober 2002 - 20:17 Der er 4 kommentarer og
1 løsning

server og flere processer

Hej Eksperter, først og fremmest vil jeg håbe at eksperten.dk holder sin gode standard efter salget.

Jeg er ved at lave et serverprogram der skal starte en ny process ved hjælp af fork hver gang en clienten laver en forespørgsel. (serveren og clienten kører på samme pc "linux") - clienten sender data til serveren vha. message kø.

Men er det best man kun har en kø med info om hvad serveren skal gøre eller køer til hver ting serveren skal udføre?

hvad skal jeg vælge???
Avatar billede jpk Nybegynder
13. oktober 2002 - 00:26 #1
Det er nok det letteste at have en kø til alle messages, ellers skal du jo lave en ny kø hver gang du vil tilføje en ny message...
Avatar billede kube Nybegynder
14. oktober 2002 - 00:43 #2
bliver programmet langsommere hvis der er flere køer? eller har det ikke noget at sige.
Avatar billede jpk Nybegynder
14. oktober 2002 - 08:32 #3
Generelt bliver dit program ikke langsommere af at lave en række køer i stedet for én, men det afhænger helt og aldeles af dit design...
Avatar billede jpk Nybegynder
14. oktober 2002 - 08:39 #4
Lige meget hvordan du vælger at lave køen, skal du dog sørge for, at dit serverprogram er thread safe!
Ellers kan det give gevaldige problemer hvis flere klienter forsøger at indsætte messages samtidig eller hvis serveren begynder at tage events ud af køen samtidig med at en klient er ved at sætte et ind.
Til det formål kan du eksempelvis bruge en "critical section".
Den sørger for, at en mængde kode udføres, uden andre tråde kan få adgang til samme resourcer i mellemtiden (populært sagt).
Avatar billede kube Nybegynder
14. oktober 2002 - 14:09 #5
ja det er vigtigt at være opmærksom på kritiske sektioner i ens kode. Jeg takker for hjælpen og håber mit program kommer til at virke optimalt...
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