Difference between revisions of "Example pthread demo"

From wiki.emacinc.com
Jump to: navigation, search
(Usage and Behavior)
Line 32: Line 32:
 
*Write to pthreads, line 141.
 
*Write to pthreads, line 141.
 
*Read from pthreads, line 127.
 
*Read from pthreads, line 127.
*Clean up after pthreads, line 119.
+
*Terminate and clean up after pthreads, line 119.
  
 
===Hardware Requirements===
 
===Hardware Requirements===

Revision as of 12:30, 12 December 2013

TODO: {{#todo:Review(12.11.13-12:03->JG+);(12.11.13-17:25->MD-);(12.12.13-11:25->JG+)|Jgreene|oe 4,oe 5,jg,md,Review}}

This is a guide to the pthread_demo C example project included in the EMAC OE SDK.

This is a simple pthreads example application. A single thread is created to generate random data that is read by a specified number of reader threads.

The term pthread refers to POSIX Threads, a POSIX standard for threads.

The pthread_demo project builds one executable: p_thread_demo.

Opening, Building and Uploading the Project Files

1. Open the C/C++ editing perspective.

stub

2. Open the project files.

stub

3. Build the project.

stub

4. Upload the executables to the target system.

stub

Usage and Behavior

The pthread_demo project is an example of multithreaded code for generating and interacting with an arbitrary number of pthreads. Within the pthread_demo.c C source file can be found demonstrations of how to, specifically:

  • Create pthreads, line 90.
  • Write to pthreads, line 141.
  • Read from pthreads, line 127.
  • Terminate and clean up after pthreads, line 119.

Hardware Requirements

The pthread_demo C example project has no special hardware requirements. It should run just fine on any system for which the project files can be successfully compiled.

Using pthread_demo

./pthread_demo n

where n is the number of threads

Usage Example

root@PPCE7:/tmp# ./pthread_demo 3
generating new random data
generating new random data
    reader: count = 0, data = 693451072
generating new random data
    reader: count = 1, data = 1195545710
generating new random data
    reader: count = 2, data = 462104121

Summary

The pthread_demo C example project demonstrates how to use pthreads. For another example of pthread usage see Example pthread hello.