Initializes a new thread for a client connection task in the scheduler.
function NewThread: TIdThreadWithTask; virtual;
The return value for the method is a TIdThreadWithTask instance that represents the thread created for the client connection executable task in the scheduler, or Nil when a thread cannot be created.
NewThread uses the value in MaxThreads to determine is a limit is imposed on the number threads allowed in the thread-based scheduler. When MaxThreads contains a positive non-zero value, the number of active yarns in ActiveYarns is checked to ensure that new thread would not exceed the limit.
NewThread uses the class reference in ThreadClass to create a new instance of the relevant class. The value in Name is used as the name in the thread instance. An EAssertionFailed exception will be raised if the class reference in ThreadClass is unassigned, or contains the value Nil.
NewThread uses the value in ThreadPriority to determine if the thread priority for the new thread should be adjusted. When ThreadPriority contains a value other than tpNormal, SetThreadPriority is called to adjust the preference given to the thread during pre-emptive scheduling by the operating system.
Use StartYarn to begin execution of the thread for a client connections' executable task.
Use TerminateYarn to halt execution of the thread for a client connections' executable task.
Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Post feedback to the Indy Docs Newsgroup.