Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Hvis tilkoblingen håndteres ene og alene av den nye tråden kan du likegodt lage en egen prosess vha fork() kallet på Unix (forutsatt at det er Unix du bruker).  

- Ulempen her er at du ikke har direkte tilgang til minnet til "morstråden", men dette er også litt greit med tanke på stabilitet og forenkling av programmeringen.

 

Å forke prossessen hver gang noen kobler til vil bruke unødvendig mye systemressurser, og er uaktuelt her i og med at programmet skal støtte mange samtidige tilkoblinger.

 

Å bruke mye forking er generelt dårlig programmerings praksis, og hvis du haver i en situasjon hvor du gjøre det, så burde du tenke på å redesigne programmet så du unngår det.

Lenke til kommentar

Å forke prossessen hver gang noen kobler til vil bruke unødvendig mye systemressurser, og er uaktuelt her i og med at programmet skal støtte mange samtidige tilkoblinger.

 

Å bruke mye forking er generelt dårlig programmerings praksis, og hvis du haver i en situasjon hvor du gjøre det, så burde du tenke på å redesigne programmet så du unngår det.

 

Tullball.

 

Forking er dumt fordi det krever ressurser, greit nok.

Men for enkelte services er dette et ikke-tema da dette forenkler resten av designet. (Dessuten går det an å pre-fork()'e).

 

Dårlig praksis fru Blom. - Det kommer jo selvsagt an på hva du programmerer, og i denne situasjonen med svært sparsommelige opplysninger er det meningsløst å vifte med pekefingeren.

 

Jeg mener også at å forke for hver socket connection (som det her var snakk om) er dårlig praksis/koding. Helt enig med deg Tempus. Forking er noe man generelt bør være forsiktig med.

Lenke til kommentar
Apache har visst en hybrid-modell, hvor det benyttes en kombinasjon av tråding og forking for ytelse/robusthet.

 

Dette gjelder Apache 2.0. I de eldre versjonene (1.x) var vel forking ganske sentralt og tråding ikke brukt. Dvs. at de har begrenset bruken av forking og bruker mer multithreading. Ser vi en trend...?

Lenke til kommentar
Dette gjelder Apache 2.0. I de eldre versjonene (1.x) var vel forking ganske sentralt og tråding ikke brukt. Dvs. at de har begrenset bruken av forking og bruker mer multithreading. Ser vi en trend...?

Jeg vet. PostgreSQL baserer seg visst også på forking, men det finnes en spesiell (kommersiell etter det jeg husker) multitrådet versjon.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...