Difference between revisions of "Example pthread demo"

From wiki.emacinc.com
Jump to: navigation, search
(Created page with "{{todo|InProgress(11.14.13-15:09->JG+)|Jgreene|project=oe 4,oe 5,ky,md,InProgress}} <big>This procedure provides an overview of how to compile and run the ''pthread_demo'' C e...")
 
(37 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{todo|InProgress(11.14.13-15:09->JG+)|Jgreene|project=oe 4,oe 5,ky,md,InProgress}}
+
{{todo|SEOKWREV;(12.11.13-12:03->JG+);(12.11.13-17:25->MD-);(12.12.13-11:25->JG+);(12.31.13-12:45->MD+);(04.07.14-09:50->BS+);(04.10.14-11:00->BS+)|Jgreene|project=oe 4,oe 5,jg,md,SEOKWREV,mg,bs}}
<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>
 
  
====1. Open the ''C/C++'' editing perspective====
+
{{#seo:
 +
|title=pthread demo
 +
|titlemode=append
 +
|keywords=pthread,pthread example
 +
|description=This is a guide to the <code>pthread_demo</code> C example project included in the EMAC OE SDK.
 +
}}
 +
This is a guide to the <code>pthread_demo</code> C example project included in the EMAC OE SDK.
  
====2. Open the ''mcp4922_test'' project====
+
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 [http://en.wikipedia.org/wiki/PThread POSIX Threads], a [http://en.wikipedia.org/wiki/POSIX POSIX] standard for threads.
 +
 
 +
The <code>pthread_demo</code> project builds one executable: <code>p_thread_demo</code>.
 +
 
 +
== Opening, Building and Uploading the Project Files ==
  
====3. Build, upload and run====
+
For information on opening the project from within Eclipse, please see [[Importing the EMAC OE SDK Projects with Eclipse]]. Then, follow [[Using the EMAC OE SDK Projects with Eclipse]] for information on how to build, upload and execute the example.
<br /><br />
 
  
==What it does==
+
Alternatively, the <code>Makefile</code> can be used with the <code>make</code> command from the commandline to build and upload the example.  For more information on this method, please see [[Using EMAC OE SDK Example Projects]].
  
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.
+
==Usage and Behavior==
 +
 
 +
The <code>pthread_demo</code> 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:<br />
 +
*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 <code>pthread_demo</code> 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 <code>pthread_demo</code>===
 +
 
 +
./pthread_demo n
 +
where '''n''' is the number of threads
 +
 
 +
===Usage Example===
  
'''Usage for pthread_demo'''
+
<syntaxhighlight lang="text">
 +
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>
  
pthread_demo
+
==Summary==
  
ie: ./pthread_demo
+
The <code>pthread_demo</code> C example project demonstrates how to use pthreads. For another example of pthread usage see [[Example pthread hello]].

Revision as of 10:59, 10 April 2014

TODO: {{#todo:SEOKWREV;(12.11.13-12:03->JG+);(12.11.13-17:25->MD-);(12.12.13-11:25->JG+);(12.31.13-12:45->MD+);(04.07.14-09:50->BS+);(04.10.14-11:00->BS+)|Jgreene|oe 4,oe 5,jg,md,SEOKWREV,mg,bs}}

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

For information on opening the project from within Eclipse, please see Importing the EMAC OE SDK Projects with Eclipse. Then, follow Using the EMAC OE SDK Projects with Eclipse for information on how to build, upload and execute the example.

Alternatively, the Makefile can be used with the make command from the commandline to build and upload the example. For more information on this method, please see Using EMAC OE SDK Example Projects.

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.