diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-2B8D3611-5B97-50E7-A9DD-23626A8EFB45.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-2B8D3611-5B97-50E7-A9DD-23626A8EFB45.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,35 @@ + + + + + +Introduction +to active objects and the active schedulerThis document provides a short introduction to active objects and +active schedulers. +
Active objects

An active object is a convenient +encapsulation of the behaviour involved in making requests to an asynchronous +service provider and handling the completion of those requests. Specifically, +it encapsulates the service provider's request, cancel functions and the function +which handles the completion of those requests.

Some asynchronous +service providers supply active object based classes as interfaces through +which clients access them.

An active object is an instance of a CActive derived +class.

+
The active scheduler

An active scheduler encapsulates +the wait loop which is at the heart of all programs using multiple asynchronous +services.

An active scheduler is an instance of a CActiveScheduler class +or, in some circumstances, an instance of a CActiveScheduler derived class.

Active +objects, together with the active scheduler, provide a system of non pre-emptive +multi-tasking which runs 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 significantly +less than that of a thread. Creating and destroying active objects is more +efficient than creating and destroying threads.

See +also

Low +Level Asynchronous Service Handling

+
\ No newline at end of file