Re: IDL_IDLBridge limited to 4? [message #73501 is a reply to message #73403] |
Wed, 10 November 2010 11:13   |
d.rowenhorst@gmail.co
Messages: 10 Registered: August 2008
|
Junior Member |
|
|
On Nov 9, 1:26 pm, Donald Woodraska <don.woodra...@gmail.com> wrote:
>> Are you using the NOWAIT keyword for asynchronous operation?
>
> Yes. I first create an array of objects using a call to
> OBJ_NEW('IDL_IDLBridge') for each index in the array.
>
> I create an integer variable called threadcnt (unimaginative) to cycle
> through all of the bridge objects to check if their status() is not
> busy
> if oBridgeArr[threadcnt]->Status() eq 0 then begin
> ...
> oBridgeArr[threadcnt]->execute, cmdlist[i], /NOWAIT
>
> If the /NOWAIT keyword was not set then I couldn't run more than 1 at
> a time. By limiting the number of objects in the array I can see that
> for one object I get 100% CPU usage, for 2 I get 200%, for 3 I get
> 300%, and for 4 I get 400%. For anything more than 4 I always get
> 400%. There is no difference from 4 all the way up to 14.
>
> However, by running 4 separate IDL command-line sessions, I can use
> all 1600% available (nearly).
>
> I saw another post where someone tried using one IDL_IDLBridge object
> to create a bunch of other IDL_IDLBridge objects. I haven't tried
> that, but even if that works, it's just a workaround.
>
> Has anyone else tried to use more than 4 IDL_IDLBridges simultaneously?
When using more that 4 bridges, I have the problem where I can not
destroy/cleanup the bridges, and the program gets stuck waiting for
the bridge to die.
|
|
|