<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="rustdoc">
    <meta name="description" content="API documentation for the Rust `thread_local` crate.">
    <meta name="keywords" content="rust, rustlang, rust-lang, thread_local">

    <title>thread_local - Rust</title>

    <link rel="stylesheet" type="text/css" href="../normalize.css">
    <link rel="stylesheet" type="text/css" href="../rustdoc.css">
    <link rel="stylesheet" type="text/css" href="../main.css">
    

    
    
</head>
<body class="rustdoc mod">
    <!--[if lte IE 8]>
    <div class="warning">
        This old browser is unsupported and will most likely display funky
        things.
    </div>
    <![endif]-->

    

    <nav class="sidebar">
        
        <p class='location'>Crate thread_local</p><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'thread_local', ty: 'mod', relpath: '../'};</script>
    </nav>

    <nav class="sub">
        <form class="search-form js-only">
            <div class="search-container">
                <input class="search-input" name="search"
                       autocomplete="off"
                       placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
                       type="search">
            </div>
        </form>
    </nav>

    <section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Crate <a class="mod" href=''>thread_local</a></span><span class='out-of-band'><span id='render-detail'>
                   <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
                       [<span class='inner'>&#x2212;</span>]
                   </a>
               </span><a class='srclink' href='../src/thread_local/lib.rs.html#8-773' title='goto source code'>[src]</a></span></h1>
<div class='docblock'><p>Per-object thread-local storage</p>

<p>This library provides the <code>ThreadLocal</code> type which allows a separate copy of
an object to be used for each thread. This allows for per-object
thread-local storage, unlike the standard library&#39;s <code>thread_local!</code> macro
which only allows static thread-local storage.</p>

<p>Per-thread objects are not destroyed when a thread exits. Instead, objects
are only destroyed when the <code>ThreadLocal</code> containing them is destroyed.</p>

<p>You can also iterate over the thread-local values of all thread in a
<code>ThreadLocal</code> object using the <code>iter_mut</code> and <code>into_iter</code> methods. This can
only be done if you have mutable access to the <code>ThreadLocal</code> object, which
guarantees that you are the only thread currently accessing it.</p>

<p>A <code>CachedThreadLocal</code> type is also provided which wraps a <code>ThreadLocal</code> but
also uses a special fast path for the first thread that writes into it. The
fast path has very low overhead (&lt;1ns per access) while keeping the same
performance as <code>ThreadLocal</code> for other threads.</p>

<p>Note that since thread IDs are recycled when a thread exits, it is possible
for one thread to retrieve the object of another thread. Since this can only
occur after a thread has exited this does not lead to any race conditions.</p>

<h1 id='examples' class='section-header'><a href='#examples'>Examples</a></h1>
<p>Basic usage of <code>ThreadLocal</code>:</p>

<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">thread_local</span>::<span class="ident">ThreadLocal</span>;
<span class="kw">let</span> <span class="ident">tls</span>: <span class="ident">ThreadLocal</span><span class="op">&lt;</span><span class="ident">u32</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">ThreadLocal</span>::<span class="ident">new</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tls</span>.<span class="ident">get</span>(), <span class="prelude-val">None</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tls</span>.<span class="ident">get_or</span>(<span class="op">||</span> <span class="ident">Box</span>::<span class="ident">new</span>(<span class="number">5</span>)), <span class="kw-2">&amp;</span><span class="number">5</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tls</span>.<span class="ident">get</span>(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="number">5</span>));</pre>

<p>Combining thread-local values into a single result:</p>

<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">thread_local</span>::<span class="ident">ThreadLocal</span>;
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">cell</span>::<span class="ident">Cell</span>;
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">thread</span>;

<span class="kw">let</span> <span class="ident">tls</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">ThreadLocal</span>::<span class="ident">new</span>());

<span class="comment">// Create a bunch of threads to do stuff</span>
<span class="kw">for</span> _ <span class="kw">in</span> <span class="number">0</span>..<span class="number">5</span> {
    <span class="kw">let</span> <span class="ident">tls2</span> <span class="op">=</span> <span class="ident">tls</span>.<span class="ident">clone</span>();
    <span class="ident">thread</span>::<span class="ident">spawn</span>(<span class="kw">move</span> <span class="op">||</span> {
        <span class="comment">// Increment a counter to count some event...</span>
        <span class="kw">let</span> <span class="ident">cell</span> <span class="op">=</span> <span class="ident">tls2</span>.<span class="ident">get_or</span>(<span class="op">||</span> <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">Cell</span>::<span class="ident">new</span>(<span class="number">0</span>)));
        <span class="ident">cell</span>.<span class="ident">set</span>(<span class="ident">cell</span>.<span class="ident">get</span>() <span class="op">+</span> <span class="number">1</span>);
    }).<span class="ident">join</span>().<span class="ident">unwrap</span>();
}

<span class="comment">// Once all threads are done, collect the counter values and return the</span>
<span class="comment">// sum of all thread-local counter values.</span>
<span class="kw">let</span> <span class="ident">tls</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">try_unwrap</span>(<span class="ident">tls</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">total</span> <span class="op">=</span> <span class="ident">tls</span>.<span class="ident">into_iter</span>().<span class="ident">fold</span>(<span class="number">0</span>, <span class="op">|</span><span class="ident">x</span>, <span class="ident">y</span><span class="op">|</span> <span class="ident">x</span> <span class="op">+</span> <span class="ident">y</span>.<span class="ident">get</span>());
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">total</span>, <span class="number">5</span>);</pre>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table>
                       <tr class=' module-item'>
                           <td><a class="struct" href="struct.CachedThreadLocal.html"
                                  title='struct thread_local::CachedThreadLocal'>CachedThreadLocal</a></td>
                           <td class='docblock-short'>
                                <p>Wrapper around <code>ThreadLocal</code> which adds a fast path for a single thread.</p>
                           </td>
                       </tr>
                       <tr class=' module-item'>
                           <td><a class="struct" href="struct.IntoIter.html"
                                  title='struct thread_local::IntoIter'>IntoIter</a></td>
                           <td class='docblock-short'>
                                <p>An iterator that moves out of a <code>ThreadLocal</code>.</p>
                           </td>
                       </tr>
                       <tr class=' module-item'>
                           <td><a class="struct" href="struct.IterMut.html"
                                  title='struct thread_local::IterMut'>IterMut</a></td>
                           <td class='docblock-short'>
                                <p>Mutable iterator over the contents of a <code>ThreadLocal</code>.</p>
                           </td>
                       </tr>
                       <tr class=' module-item'>
                           <td><a class="struct" href="struct.ThreadLocal.html"
                                  title='struct thread_local::ThreadLocal'>ThreadLocal</a></td>
                           <td class='docblock-short'>
                                <p>Thread-local variable wrapper</p>
                           </td>
                       </tr></table><h2 id='types' class='section-header'><a href="#types">Type Definitions</a></h2>
<table>
                       <tr class=' module-item'>
                           <td><a class="type" href="type.CachedIntoIter.html"
                                  title='type thread_local::CachedIntoIter'>CachedIntoIter</a></td>
                           <td class='docblock-short'>
                                <p>An iterator that moves out of a <code>CachedThreadLocal</code>.</p>
                           </td>
                       </tr>
                       <tr class=' module-item'>
                           <td><a class="type" href="type.CachedIterMut.html"
                                  title='type thread_local::CachedIterMut'>CachedIterMut</a></td>
                           <td class='docblock-short'>
                                <p>Mutable iterator over the contents of a <code>CachedThreadLocal</code>.</p>
                           </td>
                       </tr></table></section>
    <section id='search' class="content hidden"></section>

    <section class="footer"></section>

    <aside id="help" class="hidden">
        <div>
            <h1 class="hidden">Help</h1>

            <div class="shortcuts">
                <h2>Keyboard Shortcuts</h2>

                <dl>
                    <dt>?</dt>
                    <dd>Show this help dialog</dd>
                    <dt>S</dt>
                    <dd>Focus the search field</dd>
                    <dt>&larrb;</dt>
                    <dd>Move up in search results</dd>
                    <dt>&rarrb;</dt>
                    <dd>Move down in search results</dd>
                    <dt>&#9166;</dt>
                    <dd>Go to active search result</dd>
                    <dt>+</dt>
                    <dd>Collapse/expand all sections</dd>
                </dl>
            </div>

            <div class="infos">
                <h2>Search Tricks</h2>

                <p>
                    Prefix searches with a type followed by a colon (e.g.
                    <code>fn:</code>) to restrict the search to a given type.
                </p>

                <p>
                    Accepted types are: <code>fn</code>, <code>mod</code>,
                    <code>struct</code>, <code>enum</code>,
                    <code>trait</code>, <code>type</code>, <code>macro</code>,
                    and <code>const</code>.
                </p>

                <p>
                    Search functions by type signature (e.g.
                    <code>vec -> usize</code> or <code>* -> vec</code>)
                </p>
            </div>
        </div>
    </aside>

    

    <script>
        window.rootPath = "../";
        window.currentCrate = "thread_local";
    </script>
    <script src="../main.js"></script>
    <script defer src="../search-index.js"></script>
</body>
</html>