Difference between revisions of "Example pthread demo"

From wiki.emacinc.com
Jump to: navigation, search
m (Tagged buggy)
(Usage and Behavior)
Line 28: Line 28:
 
==Usage and Behavior==  
 
==Usage and Behavior==  
  
'''This page needs information regarding the pthread code, to point to the parts that are of interest for writing multithreaded code using pthreads.'''
+
The <code>pthread_demo</code> project is an example of multithreaded code for generating and interacting with an arbitrary number of ''pthreads''. Within can be found demonstrations of, specifically:<br />
 +
*Creating pthreads: line 90.
 +
*Writing to pthreads, line 141.
 +
*Reading from pthreads, line 127.
 +
*Cleaning up after pthreads ,line 119.
  
 
===Hardware Requirements===
 
===Hardware Requirements===

Revision as of 11:15, 12 December 2013

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

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 can be found demonstrations of, specifically:

  • Creating pthreads: line 90.
  • Writing to pthreads, line 141.
  • Reading from pthreads, line 127.
  • Cleaning 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.