GEOS SDK TechDocs
|
|
|
1 Multitasking Goals
One of the most impressive features of GEOS is its ability to perform several tasks simultaneously, even on the least powerful PCs. Of course, the PC has only one processor and can execute only one instruction at a time. GEOS keeps track of the various tasks, or threads , that are underway, and by switching from one thread to another many times per second creates the illusion that the PC is actually doing all the jobs at the same time.
This chapter covers
You will need to know the information in this appendix if you will be writing a multi-threaded application. The information in the appendix is not essential if your application will be single-threaded or if you will use the standard GEOS dual-thread architecture. For a dual-thread application, be careful not to send a message with
@call
from an object run by a user interface thread to an object run by any other thread of the application.
1 Multitasking Goals
2 Two Models of Multitasking
2.1 Cooperative Multitasking
2.2 Preemptive Multitasking
3 GEOS Multitasking
3.1 GEOS Threads
3.2 Context Switches
3.3 Thread Scheduling
3.4 Applications and Threads
4 Using Multiple Threads
4.1 How GEOS Threads Are Created
4.2 Managing Priority Values
4.3 Handling Errors in a Thread
4.4 When a Thread Is Finished
5 Synchronizing Threads
5.1 Semaphores: The Concept
5.2 Semaphores In GEOS
GEOS SDK TechDocs
|
|
|
1 Multitasking Goals