comp.lang.ada
 help / color / mirror / Atom feed
From: Thierry Lelegard <thierry.lelegard@canal-plus.fr>
Subject: Re: dynamic multithreading
Date: Thu, 14 Nov 2002 18:07:13 +0100
Date: 2002-11-14T18:07:13+01:00	[thread overview]
Message-ID: <3DD3D841.CD16A4CB@canal-plus.fr> (raw)
In-Reply-To: CbOA9.153$Y04.251@nntpserver.swip.net

Bj�rn Lundin wrote:
> If I remember correctly, there's an example of
> a process action as server, listening for new connections.
> For each new connection, a new task is created

This is generally a bad design.

- First, there is performance issue. Creating a new task each time
  a new connection comes in is a pain on heavily loaded servers.

- Second, you must absolutely unchecked_deallocate each task after
  it is terminated (not always trivial to synchronize on actual
  termination of a task). Otherwise, you have a memory leak.

As an alternative, never let a service task die. Once a task has
finished servicing a connection, make it wait and reuse it for a
later connection. You may create a finite number of service tasks
at startup or create new tasks only when no service task is idle
and a new connection arrives.

This is not so difficult to design and much more robust.
____________________________________________________________________________

Thierry Lelegard
CANAL+ Technologies, 34 place Raoul Dautry, 75906 Paris Cedex 15, France
____________________________________________________________________________



  reply	other threads:[~2002-11-14 17:07 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-14 13:12 dynamic multithreading Artiom Ivanov
2002-11-14 13:49 ` David Marceau
2002-11-14 14:14 ` Björn Lundin
2002-11-14 17:07   ` Thierry Lelegard [this message]
2002-11-14 18:59     ` tmoran
2002-11-14 22:04       ` Robert A Duff
2002-11-15  9:27       ` Jean-Pierre Rosen
2002-11-17 23:02     ` AG
2002-11-17  5:17       ` tmoran
2002-11-17 12:40       ` Simon Wright
2002-11-18  9:11       ` Thierry Lelegard
2002-11-18 12:12         ` Dmitry A. Kazakov
2002-11-18 16:18           ` Pascal Obry
2002-11-18 16:25             ` Lutz Donnerhacke
2002-11-18 16:21               ` Simon Wright
2002-11-19  9:03                 ` Lutz Donnerhacke
2002-11-19 21:41                   ` Simon Wright
2002-11-18 16:28               ` Preben Randhol
2002-11-18 16:30                 ` Lutz Donnerhacke
2002-11-18 16:35                   ` Preben Randhol
2002-11-18 16:44                     ` Lutz Donnerhacke
2002-11-18 18:58                       ` Preben Randhol
2002-11-19  9:09                         ` Lutz Donnerhacke
2002-11-18 19:00                       ` Preben Randhol
2002-11-19  9:11                         ` Lutz Donnerhacke
2002-11-19  9:32                           ` Preben Randhol
2002-11-19 11:18                             ` Lutz Donnerhacke
2002-11-19 12:42                       ` Georg Bauhaus
2002-11-19  9:00             ` Dmitry A. Kazakov
2002-11-18 14:30       ` Stephen Leake
2002-11-18 17:41         ` David C. Hoos
2002-11-14 14:29 ` David C. Hoos
2002-11-14 18:37 ` Jeffrey Carter
2002-11-14 22:03 ` Robert A Duff
  -- strict thread matches above, loose matches on Subject: below --
2002-11-18  9:22 Grein, Christoph
2002-11-18 12:25 ` Thierry Lelegard
2002-11-18 13:32   ` Dmitry A. Kazakov
2002-11-18 16:20     ` Pascal Obry
2002-11-18 12:13 Grein, Christoph
2002-11-18 13:38 ` Dmitry A. Kazakov
2002-11-19  5:28 Grein, Christoph
2002-11-19  6:38 Grein, Christoph
2002-11-19  9:13 ` Lutz Donnerhacke
2002-11-19  6:46 Grein, Christoph
2002-11-19  6:49 Grein, Christoph
2002-11-20 18:20 ` Matthew Heaney
2002-11-27 15:55 ` John English
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox