Difference between revisions of "Example pthread demo"

From wiki.emacinc.com
Jump to: navigation, search
Line 1: Line 1:
 
{{todo|InProgress(11.14.13-15:47->JG+)|Jgreene|project=oe 4,oe 5,jg,md,InProgress}}
 
{{todo|InProgress(11.14.13-15:47->JG+)|Jgreene|project=oe 4,oe 5,jg,md,InProgress}}
<big>This procedure provides an overview of how to compile and run the ''pthread_demo'' C example project. It assumes familiarity with the C programming language and is intended to be used by experienced programmers who are looking to learn the EMAC SDK.</big>
+
This is a guide to the pthread C example project included in the EMAC OE SDK.
  
====1. Open the ''C/C++'' editing perspective====
+
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.
 +
 
 +
'''INTRO'''
 +
what is a pthread?
 +
 
 +
== Opening, Building and Uploading the Project Files ==
 +
 
 +
<big>1. Open the C/C++ editing perspective.</big>
  
====2. Open the ''pthread_demo'' project====
+
stub
  
====3. Build, upload and run====
+
<big>2. Open the fbench project files.</big>
<br /><br />
 
  
==What it does==
+
stub
  
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.
+
<big>3. Build the fbench project.</big>
 +
 
 +
stub
 +
 
 +
<big>4. Upload the fbench and ffbench executables to the target system.</big>
 +
 
 +
stub
 +
 
 +
==Usage and Behavior==
  
'''Usage for pthread_demo'''
+
===Hardware Requirements===
  
./pthread_demo n<br />
+
The <code>pthread demo</code> has no special hardware requirements. It should run just fine on any system for which the <code>pthread demo</code> project code can be successfully compiled.
where n is the number of threads
 
  
'''Usage example'''
+
====Using <code>pthread_demo</code>====
  
./pthread_demo 3
+
./pthread_demo n<br />
 +
where n is the number of threads
  
Outputting to the terminal, the program will report that it created the random data and that the data was read from within the 3 pthreads.
+
====Usage Example====
  
Example session.<br />
+
<syntaxhighlight lang="text">
[[File:Pthread demo example terminal session.jpg|Example session.]]
+
root@PPCE7:/tmp# ./pthread_demo 3
 +
generating new random data
 +
generating new random data
 +
    reader: count = 0, data = 677351334
 +
generating new random data
 +
    reader: count = 1, data = 317767096
 +
generating new random data
 +
    reader: count = 2, data = 522450509
 +
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
 +
</syntaxhighlight>

Revision as of 11:43, 11 December 2013

TODO: {{#todo:InProgress(11.14.13-15:47->JG+)|Jgreene|oe 4,oe 5,jg,md,InProgress}}

This is a guide to the pthread 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.

INTRO what is a pthread?

Opening, Building and Uploading the Project Files

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

stub

2. Open the fbench project files.

stub

3. Build the fbench project.

stub

4. Upload the fbench and ffbench executables to the target system.

stub

Usage and Behavior

Hardware Requirements

The pthread demo has no special hardware requirements. It should run just fine on any system for which the pthread demo project code 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 = 677351334
generating new random data
    reader: count = 1, data = 317767096
generating new random data
    reader: count = 2, data = 522450509
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