<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2006-2014 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU libgomp: omp_get_thread_num</title>

<meta name="description" content="GNU libgomp: omp_get_thread_num">
<meta name="keywords" content="GNU libgomp: omp_get_thread_num">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Library-Index.html#Library-Index" rel="index" title="Library Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Runtime-Library-Routines.html#Runtime-Library-Routines" rel="up" title="Runtime Library Routines">
<link href="omp_005fin_005fparallel.html#omp_005fin_005fparallel" rel="next" title="omp_in_parallel">
<link href="omp_005fget_005fthread_005flimit.html#omp_005fget_005fthread_005flimit" rel="prev" title="omp_get_thread_limit">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="omp_005fget_005fthread_005fnum"></a>
<div class="header">
<p>
Next: <a href="omp_005fin_005fparallel.html#omp_005fin_005fparallel" accesskey="n" rel="next">omp_in_parallel</a>, Previous: <a href="omp_005fget_005fthread_005flimit.html#omp_005fget_005fthread_005flimit" accesskey="p" rel="prev">omp_get_thread_limit</a>, Up: <a href="Runtime-Library-Routines.html#Runtime-Library-Routines" accesskey="u" rel="up">Runtime Library Routines</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Library-Index.html#Library-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="omp_005fget_005fthread_005fnum-_002d_002d-Current-thread-ID"></a>
<h3 class="section">2.19 <code>omp_get_thread_num</code> &ndash; Current thread ID</h3>
<dl compact="compact">
<dt><em>Description</em>:</dt>
<dd><p>Returns a unique thread identification number within the current team.
In a sequential parts of the program, <code>omp_get_thread_num</code>
always returns 0.  In parallel regions the return value varies
from 0 to <code>omp_get_num_threads</code>-1 inclusive.  The return
value of the master thread of a team is always 0.
</p>
</dd>
<dt><em>C/C++</em>:</dt>
<dd><table>
<tr><td width="20%"><em>Prototype</em>:</td><td width="80%"><code>int omp_get_thread_num(void);</code></td></tr>
</table>

</dd>
<dt><em>Fortran</em>:</dt>
<dd><table>
<tr><td width="20%"><em>Interface</em>:</td><td width="80%"><code>integer function omp_get_thread_num()</code></td></tr>
</table>

</dd>
<dt><em>See also</em>:</dt>
<dd><p><a href="omp_005fget_005fnum_005fthreads.html#omp_005fget_005fnum_005fthreads">omp_get_num_threads</a>, <a href="omp_005fget_005fancestor_005fthread_005fnum.html#omp_005fget_005fancestor_005fthread_005fnum">omp_get_ancestor_thread_num</a>
</p>
</dd>
<dt><em>Reference</em>:</dt>
<dd><p><a href="http://www.openmp.org/">OpenMP specification v4.0</a>, Section 3.2.4.
</p></dd>
</dl>






</body>
</html>
