ÿþ<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=unicode" /> <meta http-equiv="Content-Language" content="en-us" /> <title>A complete Windows process &amp; thread programming tutorials with sample codes and program example using Win32 library</title> <meta name="keywords" content="Windows system, Windows applications, Windows processes, Windows threads, multithreading, threading, security, thread safe, proccessors, computers, servers" /> <meta name="description" content="This page provides a complete index on Windows processes and threads programming which include code samples, program examples and output samples" /> </head> <body topmargin="20" leftmargin="20" rightmargin="20" bottommargin="20"> <table border="0" width="100%"> <tr> <td colspan="2"> <h1 align="center" style="margin-top:0; margin-bottom:0"> <font face="Batang"><span style="font-weight: 400">The Windows Processes &amp; Threads Win32 Programming</span></font></h1> </td> </tr> <tr> <td colspan="2"> <p align="center"> <script type="text/javascript"><!-- google_ad_client = "pub-8089415323104206"; google_ad_slot = "2156170134"; google_ad_width = 728; google_ad_height = 15; //--> </script> &nbsp;<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script></p> </td> </tr> <tr> <td width="7%" align="center"> <h3> <font face="Byington"><span style="font-weight: 400"> <a title="The Win32 programming tutorial using Visual Studio, C and C++ languages" target="_top" href="index.html"> HOME</a></span></font></h3> <p>&nbsp;</p> <h3><span style="font-weight: 400"><font face="Byington"> <a title="Computer processes and threads synchronization tutorial" target="_top" href="http://www.installsetupconfig.com/win32programming/threadprocesssynchronizationapis11index.html"> Windows Threads and Process Synchronization</a></font></span></h3> <p>&nbsp;</p> <p>&nbsp;</p> <p> <script type="text/javascript"><!-- google_ad_client = "pub-8089415323104206"; google_ad_slot = "3614899554"; google_ad_width = 160; google_ad_height = 600; //--> </script> &nbsp;<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script></p> <p align="left">&nbsp;</p> <p align="left">&nbsp;</p> <div align="center"> <script src="http://tag.contextweb.com/TagPublish/getjs.aspx?action=VIEWAD&cwrun=200&cwadformat=160X600&cwpid=527221&cwwidth=160&cwheight=600&cwpnet=1&cwtagid=82739"></script> </div> <p align="left">&nbsp;</p> </td> <td width="92%"> <h1 style="margin-bottom:0mm;margin-bottom:.0001pt"> <font size="5" face="Times New Roman"> <span style="line-height:115%; font-family:&quot;Arial&quot;; font-weight:400">What do we have in this session?</span></font></h1> <p style="margin-bottom:0mm;margin-bottom:.0001pt"> <font face="Arial">This is an introduction to Windows process and thread programming. It tries to explain the process, thread, UMS, multitasking, fibers, jobs, Thread local storage and others that related to Windows process and thread.</font></p> <ol> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7.html">Brief Intro</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Processes and Threads</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Multitasking</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Advantages of Multitasking</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">When to Use Multitasking</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Multitasking Considerations</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_1.html">Scheduling</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Scheduling Priorities</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Priority Class</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Priority Level</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_2.html">Base Priority</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Context Switches</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Priority Boosts</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Priority Inversion</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_3.html">Multiple Processors</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Thread Affinity</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Thread Ideal Processor</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">NUMA Support</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">NUMA Support on Systems With More Than 64 Logical Processors</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">NUMA API</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_4.html">Thread Ordering Service</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Multimedia Class Scheduler Service</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Registry Settings</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Thread Priorities</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Processor Groups</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Multiple Threads</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_5.html">Creating Threads (With Code Example)</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_6.html">Thread Stack Size</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Thread Handles and Identifiers</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Suspending Thread Execution</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Synchronizing Execution of Multiple Threads</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Multiple Threads and GDI Objects</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_7.html">Thread Local Storage</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Creating Windows in Threads</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Terminating a Thread</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">How Threads are Terminated</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_8.html">Thread Security and Access Rights</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Protected Processes</span></font></h3> </li> </ol> <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p> <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p> <div align="center"> <script src="http://tag.contextweb.com/TagPublish/getjs.aspx?action=VIEWAD&cwrun=200&cwadformat=728X90&cwpid=527221&cwwidth=728&cwheight=90&cwpnet=1&cwtagid=82740"></script> </div> <p></p> <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p> <ol start="39"> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Child Processes</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_9.html">Creating Processes (With Code Example)</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_10.html">Setting Window Properties Using STARTUPINFO</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Process Handles and Identifiers</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Process Enumeration</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Obtaining Additional Process Information</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_11.html">Inheritance</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Inheriting Handles</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Inheriting Environment Variables</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Inheriting the Current Directory</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_12.html">Environment Variables</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_13.html">Terminating a Process</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">How Processes are Terminated</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Process Working Set</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Process Security and Access Rights</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_14.html">Protected Processes</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Thread Pools</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Thread Pool Architecture</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Best Practices</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_15.html">Job Objects</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">User-Mode Scheduling</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">UMS Scheduler</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">UMS Scheduler Thread</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">UMS Worker Threads, Thread Contexts, and Completion Lists</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">UMS Scheduler Entry Point Function</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">UMS Thread Execution</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">UMS Best Practices</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_16.html">Fibers</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Fiber Local Storage</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Creating Processes Program Example</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_17.html">Creating Threads Program Example</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_18.html">Creating a Child Process with Redirected Input and Output Program Exampl</a>e</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_19.html">The Child Process Program Example</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_20.html">Changing Environment Variables Program Examples</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400">Environment Variables: Example 1</span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_21.html">Environment Variables: Example 2</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_22.html">Environment Variables: Example 3</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_23.html">Using Thread Local Storage Program Example</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_24.html">Using Fibers Program Example</a></span></font></h3> </li> <li> <h3 style="margin-top: 0; margin-bottom: 0"><font face="Byington"> <span style="line-height: 115%; font-weight: 400"> <a href="windowsthreadsprocessapis7_25.html">Using the Thread Pool Functions Program Example (Vista/Server 2008)</a></span></font></h3> </li> </ol> </td> </tr> <tr> <td colspan="2"> <p align="center"> <script type="text/javascript"><!-- google_ad_client = "pub-8089415323104206"; google_ad_slot = "0761177910"; google_ad_width = 728; google_ad_height = 90; //--> </script> &nbsp;<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script></p> </td> </tr> <tr> <td colspan="2"> <h3 align="center" style="margin-top: 0; margin-bottom: 0"> <font face="Byington"><span style="font-weight: 400">&lt; <a title="A complete Windows registry hands-on tutorials with working code examples" style="color: blue; text-decoration: underline" href="windowsregistryapis6index.html"> Windows Registry Programming</a> | <a title="The Win32 programming tutorial using Visual Studio, C and C++ languages" style="color: blue; text-decoration: underline" href="index.html"> Win32 Programming</a> | <a style="color: blue; text-decoration: underline" title="An intro to Windows thread and process: multitasking, multithreading and Windows system" href="windowsthreadsprocessapis7.html"> Windows Process &amp; Thread 1</a> &gt;</span></font></h3> </td> </tr> </table> </body> </html>