diff -r 89d6a7a84779 -r 25a17d01db0c Symbian3/PDK/Source/GUID-2C5D53A3-0211-5C14-BD7F-E89EB27BAD2A.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/PDK/Source/GUID-2C5D53A3-0211-5C14-BD7F-E89EB27BAD2A.dita Fri Jan 22 18:26:19 2010 +0000 @@ -0,0 +1,39 @@ + + + + + +Active +SchedulerThis document describes how active objects are queued using active +schedulers. +

Where multiple asynchronous services are used by a program, a wait loop is +required.

+

The CActiveScheduler class encapsulates the wait loop.

+

Nearly all threads use an active scheduler. Low-level test programs may +have to construct their own active scheduler, but all server threads and all +UI programs, have an active scheduler after they have initialized. If an active +scheduler is present, active objects may be added to it and removed from it +at will.

+

A thread may not have more than one active scheduler.

+

Active scheduler provides a non pre-emptive multi-tasking system, using +which active objects run on a single thread.

+

In Symbian platform, it is easier to write a system of co-operating active +objects than a system of co-operating threads. The run-time cost of an active +object is also significantly less than that of a thread. Creating and destroying +active objects is very much more efficient than creating and destroying +threads.

+

When the active scheduler executes its wait loop, the order in which active +objects are tested for scheduling is determined by their relative priorities. +Most active objects should have a priority of zero and there should be an +assumption that their relative position in the queue is irrelevant. No processing +should ever depend on the order in which active objects are scheduled.

+
See also

Active +objects

How +to renew a request from the active scheduler.

+
\ No newline at end of file