diff -r 80ef3a206772 -r 48780e181b38 Symbian3/SDK/Source/GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F.dita
--- a/Symbian3/SDK/Source/GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F.dita Fri Jul 16 17:23:46 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F.dita Tue Jul 20 12:00:49 2010 +0100
@@ -1,66 +1,66 @@
-
-
-
-
-
-SemaphoreExample:
-thread synchronisation using semaphoresExplains how to use Semaphores to achieve thread synchronization.
-It is recommended to use semaphores instead of thread priorities for the
-following reasons:
- In a uniprocessor environment, setting the thread priorities does
-not guarantee prioritized or serialized execution.
-In a multiprocessor or SMP environment, thread priorities are irrelevant
-as multiple threads can run simultaneously.
-
-Download Click on the following link to download
-the example: SemaphoreExample.zip
Click: browse to view the example code.
-Description: The example creates a database containing
-a table of three columns with integer entries.
The example creates
-two threads:
-WriterThread: This thread calls a periodic function
-at an interval of one second, and in each iteration it inserts one row of
-integers in the table.
-ReaderThread: This thread also calls a periodic function
-at an interval of one second, and in each iteration it reads one row of integers
-following the last row read.
-
The example uses a macro USE_SEMAPHORE to show the
-difference between the code using semaphores and the code which doesn't use
-semaphores. When not using semaphores, it is not guaranteed that the ReaderThread will
-be able to read the database because in an SMP environment, data may not yet
-have been written by the WriterThread.
Using a semaphore
-serializes the thread execution. The read operation waits on the semaphore
-until it gets a signal from the write operation. This ensures that the ReaderThread only
-reads a row from the database after the WriterThread has
-written it.
-Class summary
-RThread - A handle to a thread.
-RDbStoreDatabase - DBMS Store database implementation
-RSemaphore - Used for thread synchronization.
-
-Building and configuring To build the example:
-The example builds an
-executable called semaphoreexample.exe in the standard
-location.
-You can build the example
-from your IDE or the command line.
If you use an IDE, import the bld.inf file
-of the example into your IDE, and use the build command of the IDE.
If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands:
bldmake
-bldfiles
abld build
How to use bldmake and How to use abld describe
-how to use the SBSv1 build tools.
-
-Running the example The example code contains a
-macroUSE_SEMAPHORE in the mmp file.
-By default it is commented out and on execution the example runs without using
-semaphores; the macro should be uncommented to use semaphores. The console
-output will generally look the same whether using semaphores or not if there
-is a single processor, but differences will occur in an SMP environment. Run
-the example following the instructions provided in the console.
+
+
+
+
+
+SemaphoreExample: thread synchronisation using semaphoresExplains how to use Semaphores to achieve thread synchronization.
+It is recommended to use semaphores instead of thread priorities
+for the following reasons:
+ In a uniprocessor environment, setting the thread priorities
+does not guarantee prioritized or serialized execution.
+In a multiprocessor or SMP environment, thread priorities are
+irrelevant as multiple threads can run simultaneously.
+
+Download Click on the following link to download the example: SemaphoreExample.zip
Click: browse to view the example code.
+Description: The example creates a database containing a table of three columns
+with integer entries.
The example creates two threads:
+WriterThread: This thread calls a periodic
+function at an interval of one second, and in each iteration it inserts
+one row of integers in the table.
+ReaderThread: This thread also calls a periodic
+function at an interval of one second, and in each iteration it reads
+one row of integers following the last row read.
+
The example uses a macro USE_SEMAPHORE to
+show the difference between the code using semaphores and the code
+which doesn't use semaphores. When not using semaphores, it is not
+guaranteed that the ReaderThread will be able to
+read the database because in an SMP environment, data may not yet
+have been written by the WriterThread.
Using
+a semaphore serializes the thread execution. The read operation waits
+on the semaphore until it gets a signal from the write operation.
+This ensures that the ReaderThread only reads a row
+from the database after the WriterThread has written
+it.
+Class
+summary
+RThread - A handle to a thread.
+RDbStoreDatabase - DBMS Store database implementation
+RSemaphore - Used for thread synchronization.
+
+Building
+and configuring To build the example:
+The example
+builds an executable called semaphoreexample.exe in the standard location.
+You can build
+the example from your IDE or the command line.
If you use
+an IDE, import the bld.inf file of the example
+into your IDE, and use the build command of the IDE.
If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands:
bldmake bldfiles
abld
+build .
+
+Running
+the example The example code contains a macroUSE_SEMAPHORE in the mmp file. By default it is commented
+out and on execution the example runs without using semaphores; the
+macro should be uncommented to use semaphores. The console output
+will generally look the same whether using semaphores or not if there
+is a single processor, but differences will occur in an SMP environment.
+Run the example following the instructions provided in the console.
\ No newline at end of file