Understanding subsystems - thread consumption peace of mind sanity check



Legendary Poster
Hi list,

Not sure whether to post this here or in the CNC section.

I think I know the answer to the following question but I just want it confirmed by you guys. It's in relation to subsystems and the threads they consume (whether running in a multi-threaded queue or not.

Say I have a mutli-threaded queue setup and I place subsystems on that queue. Queue = JDESUB and it has 30 threads.

If I set up 2 subsystem versions to run on JDESUB I now have 28 threads left in JDESUB in which to run other subsystem version......Is that correct?
As I think a subsystem version consumes and will only ever one thread only in a multi-threaded queue.

If I fire off 20 subsystem wake up records to F986113 for a given version, all 20 subsystem requests process and actually queue one behind another on the thread they consume.....Is this also correct?
As I don't think E1 will allow the subsystem requests to fire off in a thread other than the one the subsystem is lying asleep waiting for F986113 records in.
E1 will NOT allow the same subsystem version to fire off in a different thread at the same time - If it did, would make a mockery of things like warehousing if it did with things running in tandem and parallel processing.

Subsystems running on a muli-threaded queue are not actually multi-threaded 'in nature' at all. The subsystem consumes one thread per subsystem but nothing else in E1 can interfere with that thread......only requests to launch and process the subsystem.....Is that also correct?

Based on the above, if I only had one particular subsystem version to process, in theory I could run that in a single threaded queue provided nothing else processed in that queue.

As I said, I think I get the principle, I just wanted to check as we are currently undertaking a queue allocation exercise.


Last edited: