lazhen
2025-01-07 b3987122cbbc46c5c59d3173f37fca3170b6dc5a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Quintiq file version 2.0
#parent: #root
StaticMethod FindCreateAvailableThread (LibOpt_Run run, Real iterationstart) as LibOpt_IterationThread
{
  Description: 'Tries to find an available thread. If none available, it will create a new thread'
  TextBody:
  [*
    // jps1 May-7-2020 (created)
    
    availableThread := select( run, IterationThread, thread, guard( thread.LastSnapshot().PrecisionTimeStampDone() < iterationstart, true ) );
    
    if( isnull( availableThread ) )
    {
      availableThread := LibOpt_IterationThread::Create( run );
    }
    
    return availableThread;
  *]
  InterfaceProperties { Accessibility: 'Module' }
}