What's required for a non-threaded AgentX++ subagent?
Frank Fock
Frank.Fock____t-online.de
Fri May 9 20:43:53 CEST 2003
James,
The ThreadPool creates threads only up to the size
of the pool. Once a thread of the pool is created
it is never canceled/destroyed until the ThreadPool
is deleted. Thus, with the latest AGENT++/AgentX++
your agent/subagent will not create/destroy threads
dynamically, even if you are using the default
setup.
Best regards,
Frank
James Brokenbek wrote:
> Frank,
>
> I've decided to investigate the ThreadPool-of-size-one suggestion you
> made earlier. Let me clarify that I want single-threaded behavior not
> because of concurrency issues, but rather because my platform, FreeBSD
> 4.3, apparently has a leaky pthreads implementation. This rules out
> repeated thread creation/destruction operations.
>
> So then, will your suggestion keep a single thread running indefinitely,
> or will it allow the single "pooled" thread to exit and then start a new
> one to "refill the pool"? A cursory check of the code suggests to me
> that the latter is the case. Could you please clarify? Thanks.
>
> James Brokenbek
> Celion Networks, Inc.
> Richardson, TX
>
>
>>-----Original Message-----
>>From: Frank Fock [mailto:Frank.Fock____t-online.de]
>>Sent: Monday, April 28, 2003 5:44 PM
>>To: James Brokenbek
>>Cc: agentpp-dl____agentpp.com
>>Subject: Re: What's required for a non-threaded AgentX++ subagent?
>>
>>
>>James,
>>
>>Theoretically, it is possible to implement a
>>single-threaded AgentX++ subagent. However with
>>the current version, a couple of code modifications
>>will be needed. Since the master agent relies on
>>a multi-threaded environment, you will have to
>>separate any master specific code from the AgentX++
>>library and remove it.
>>
>>I will provide the necessary modifications in the
>>next AgentX++ release on macro definition basis.
>>The necessary Makefiles will also be provided.
>>
>>As a quick workaround, you could also use the multi-threaded
>>library and reduce the ThreadPool size to one. You will
>>then use POSIX threads but, the subagent will behave as
>>if it was compiled without threads (single-threaded).
>>
>>Hope this helps.
>>
>>Best regards,
>>Frank
>
>
More information about the AGENTPP
mailing list