wangzhe-thread.html.752a4836.js 28.2 KB
Newer Older
沉默王二's avatar
沉默王二 已提交
1
import{_ as n}from"./plugin-vue_export-helper.21dcd24c.js";import{o as s,c as a,e as t}from"./app.615e41d8.js";const p={},e=t(`<h1 id="\u5BA4\u53CB\u6253\u4E86\u4E00\u628A\u738B\u8005\u5C31\u5B66\u4F1A\u4E86\u521B\u5EFAjava\u7EBF\u7A0B\u76843\u79CD\u65B9\u5F0F" tabindex="-1"><a class="header-anchor" href="#\u5BA4\u53CB\u6253\u4E86\u4E00\u628A\u738B\u8005\u5C31\u5B66\u4F1A\u4E86\u521B\u5EFAjava\u7EBF\u7A0B\u76843\u79CD\u65B9\u5F0F" aria-hidden="true">#</a> \u5BA4\u53CB\u6253\u4E86\u4E00\u628A\u738B\u8005\u5C31\u5B66\u4F1A\u4E86\u521B\u5EFAJava\u7EBF\u7A0B\u76843\u79CD\u65B9\u5F0F</h1><p>\u5BF9\u4E8E Java \u521D\u5B66\u8005\u6765\u8BF4\uFF0C\u591A\u7EBF\u7A0B\u7684\u5F88\u591A\u6982\u5FF5\u542C\u8D77\u6765\u5C31\u5F88\u96BE\u7406\u89E3\u3002\u6BD4\u65B9\u8BF4\uFF1A</p><ul><li>\u8FDB\u7A0B\uFF0C\u662F\u5BF9\u8FD0\u884C\u65F6\u7A0B\u5E8F\u7684\u5C01\u88C5\uFF0C\u662F\u7CFB\u7EDF\u8FDB\u884C\u8D44\u6E90\u8C03\u5EA6\u548C\u5206\u914D\u7684\u57FA\u672C\u5355\u4F4D\uFF0C\u5B9E\u73B0\u4E86\u64CD\u4F5C\u7CFB\u7EDF\u7684\u5E76\u53D1\u3002</li><li>\u7EBF\u7A0B\uFF0C\u662F\u8FDB\u7A0B\u7684\u5B50\u4EFB\u52A1\uFF0C\u662FCPU\u8C03\u5EA6\u548C\u5206\u6D3E\u7684\u57FA\u672C\u5355\u4F4D\uFF0C\u5B9E\u73B0\u4E86\u8FDB\u7A0B\u5185\u90E8\u7684\u5E76\u53D1\u3002</li></ul><p>\u5F88\u62BD\u8C61\uFF0C\u5BF9\u4E0D\u5BF9\uFF1F\u6253\u4E2A\u6BD4\u55BB\uFF0C\u4F60\u5728\u6253\u4E00\u628A\u738B\u8005\uFF08\u5176\u5B9E\u6211\u4E0D\u4F1A\u73A9\u54C8doge\uFF09\uFF1A</p><ul><li>\u8FDB\u7A0B\u53EF\u4EE5\u6BD4\u4F5C\u662F\u4F60\u5F00\u7684\u8FD9\u4E00\u628A\u6E38\u620F</li><li>\u7EBF\u7A0B\u53EF\u4EE5\u6BD4\u4F5C\u662F\u4F60\u6240\u9009\u7684\u82F1\u96C4\u6216\u8005\u662F\u6E38\u620F\u4E2D\u7684\u6C34\u6676\u91CE\u602A\u7B49\u4E4B\u7C7B\u7684\u3002</li></ul><p>\u5E26\u7740\u8FD9\u4E2A\u6BD4\u55BB\u6765\u7406\u89E3\u8FDB\u7A0B\u548C\u7EBF\u7A0B\u7684\u4E00\u4E9B\u5173\u7CFB\uFF0C\u4E00\u4E2A\u8FDB\u7A0B\u53EF\u4EE5\u6709\u591A\u4E2A\u7EBF\u7A0B\u5C31\u53EB\u591A\u7EBF\u7A0B\u3002\u662F\u4E0D\u662F\u611F\u89C9\u975E\u5E38\u597D\u7406\u89E3\u4E86\uFF1F</p><p><strong>\u27641\u3001\u7EBF\u7A0B\u5728\u8FDB\u7A0B\u4E0B\u8FDB\u884C</strong></p><p>(\u5355\u72EC\u7684\u82F1\u96C4\u89D2\u8272\u3001\u91CE\u602A\u3001\u5C0F\u5175\u80AF\u5B9A\u4E0D\u80FD\u8FD0\u884C)</p><p><strong>\u27642\u3001\u8FDB\u7A0B\u4E4B\u95F4\u4E0D\u4F1A\u76F8\u4E92\u5F71\u54CD\uFF0C\u4E3B\u7EBF\u7A0B\u7ED3\u675F\u5C06\u4F1A\u5BFC\u81F4\u6574\u4E2A\u8FDB\u7A0B\u7ED3\u675F</strong></p><p>(\u4E24\u628A\u6E38\u620F\u4E4B\u95F4\u4E0D\u4F1A\u6709\u8054\u7CFB\u548C\u5F71\u54CD\u3002\u4F60\u7684\u6C34\u6676\u88AB\u63A8\u6389\uFF0C\u4F60\u8FD9\u628A\u6E38\u620F\u5C31\u7ED3\u675F\u4E86)</p><p><strong>\u27643\u3001\u4E0D\u540C\u7684\u8FDB\u7A0B\u6570\u636E\u5F88\u96BE\u5171\u4EAB</strong></p><p>(\u4E24\u628A\u6E38\u620F\u4E4B\u95F4\u5F88\u96BE\u6709\u8054\u7CFB\uFF0C\u6709\u8054\u7CFB\u7684\u60C5\u51B5\u6BD4\u5982\u4E0A\u628A\u7684\u654C\u4EBA\u8FD9\u628A\u53C8\u5339\u914D\u5230\u4E86)</p><p><strong>\u27644\u3001\u540C\u8FDB\u7A0B\u4E0B\u7684\u4E0D\u540C\u7EBF\u7A0B\u4E4B\u95F4\u6570\u636E\u5F88\u5BB9\u6613\u5171\u4EAB</strong></p><p>(\u4F60\u5F00\u7684\u90A3\u4E00\u628A\u6E38\u620F\uFF0C\u4F60\u53EF\u4EE5\u770B\u5230\u6BCF\u4E2A\u73A9\u5BB6\u7684\u72B6\u6001\u2014\u2014\u751F\u6B7B\uFF0C\u4E5F\u53EF\u4EE5\u770B\u5230\u6BCF\u4E2A\u73A9\u5BB6\u7684\u51FA\u88C5\u7B49\u7B49\uFF09</p><p><strong>\u27645\u3001\u8FDB\u7A0B\u4F7F\u7528\u5185\u5B58\u5730\u5740\u53EF\u4EE5\u9650\u5B9A\u4F7F\u7528\u91CF</strong></p><p>(\u5F00\u7684\u623F\u95F4\u6A21\u5F0F\uFF0C\u51B3\u5B9A\u4E86\u4F60\u53EF\u4EE5\u8BBE\u7F6E\u6709\u591A\u5C11\u4EBA\u8FDB\uFF0C\u5F53\u623F\u95F4\u6EE1\u4E86\u540E\uFF0C\u5176\u4ED6\u4EBA\u5C31\u8FDB\u4E0D\u53BB\u4E86\uFF0C\u9664\u975E\u6709\u4EBA\u9000\u51FA\u623F\u95F4\uFF0C\u5176\u4ED6\u4EBA\u624D\u80FD\u8FDB)</p><p>\u641E\u6E05\u695A\u4E0A\u9762\u8FD9\u4E9B\u6982\u5FF5\u4E4B\u540E\uFF0C\u6211\u4EEC\u6765\u770B\u4E00\u4E0B\u591A\u7EBF\u7A0B\u521B\u5EFA\u7684\u4E24\u79CD\u65B9\u5F0F\uFF1A</p><p>\u2660\u2460\uFF1A\u521B\u5EFA\u4E00\u4E2A\u7C7B\u7EE7\u627FThread\u7C7B\uFF0C\u5E76\u91CD\u5199run\u65B9\u6CD5\u3002</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">MyThread</span> <span class="token keyword">extends</span> <span class="token class-name">Thread</span> <span class="token punctuation">{</span>
沉默王二's avatar
沉默王二 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
    <span class="token annotation punctuation">@Override</span>
    <span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">run</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> <span class="token number">100</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
            <span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token function">getName</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">&quot;:\u6253\u4E86&quot;</span> <span class="token operator">+</span> i <span class="token operator">+</span> <span class="token string">&quot;\u4E2A\u5C0F\u5175&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6211\u4EEC\u6765\u5199\u4E2A\u6D4B\u8BD5\u65B9\u6CD5\u9A8C\u8BC1\u4E0B\uFF1A</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token comment">//\u521B\u5EFAMyThread\u5BF9\u8C61</span>
<span class="token class-name">MyThread</span> t1<span class="token operator">=</span><span class="token keyword">new</span>  <span class="token class-name">MyThread</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">MyThread</span> t2<span class="token operator">=</span><span class="token keyword">new</span>  <span class="token class-name">MyThread</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">MyThread</span> t3<span class="token operator">=</span><span class="token keyword">new</span>  <span class="token class-name">MyThread</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//\u8BBE\u7F6E\u7EBF\u7A0B\u7684\u540D\u5B57</span>
t1<span class="token punctuation">.</span><span class="token function">setName</span><span class="token punctuation">(</span><span class="token string">&quot;\u9C81\u73ED&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t2<span class="token punctuation">.</span><span class="token function">setName</span><span class="token punctuation">(</span><span class="token string">&quot;\u5218\u5907&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t3<span class="token punctuation">.</span><span class="token function">setName</span><span class="token punctuation">(</span><span class="token string">&quot;\u4E9A\u745F&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//\u542F\u52A8\u7EBF\u7A0B</span>
t1<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t2<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t3<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6765\u770B\u4E00\u4E0B\u6267\u884C\u540E\u7684\u7ED3\u679C\uFF1A</p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/thread/wangzhe-thread-01.png" alt=""></p><p>\u2660\u2461\uFF1A\u521B\u5EFA\u4E00\u4E2A\u7C7B\u5B9E\u73B0Runnable\u63A5\u53E3\uFF0C\u5E76\u91CD\u5199run\u65B9\u6CD5\u3002</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">MyRunnable</span> <span class="token keyword">implements</span> <span class="token class-name">Runnable</span> <span class="token punctuation">{</span>
    <span class="token annotation punctuation">@Override</span>
    <span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">run</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> <span class="token number">10</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
            <span class="token keyword">try</span> <span class="token punctuation">{</span><span class="token comment">//sleep\u4F1A\u53D1\u751F\u5F02\u5E38\u8981\u663E\u793A\u5904\u7406</span>
                <span class="token class-name">Thread</span><span class="token punctuation">.</span><span class="token function">sleep</span><span class="token punctuation">(</span><span class="token number">20</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token comment">//\u6682\u505C20\u6BEB\u79D2</span>
            <span class="token punctuation">}</span> <span class="token keyword">catch</span> <span class="token punctuation">(</span><span class="token class-name">InterruptedException</span> e<span class="token punctuation">)</span> <span class="token punctuation">{</span>
                e<span class="token punctuation">.</span><span class="token function">printStackTrace</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
            <span class="token punctuation">}</span>
            <span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token class-name">Thread</span><span class="token punctuation">.</span><span class="token function">currentThread</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getName</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">&quot;\u6253\u4E86:&quot;</span> <span class="token operator">+</span> i <span class="token operator">+</span> <span class="token string">&quot;\u4E2A\u5C0F\u5175&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6211\u4EEC\u6765\u5199\u4E2A\u6D4B\u8BD5\u65B9\u6CD5\u9A8C\u8BC1\u4E0B\uFF1A</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token comment">//\u521B\u5EFAMyRunnable\u7C7B</span>
<span class="token class-name">MyRunnable</span> mr <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MyRunnable</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//\u521B\u5EFAThread\u7C7B\u7684\u6709\u53C2\u6784\u9020,\u5E76\u8BBE\u7F6E\u7EBF\u7A0B\u540D</span>
<span class="token class-name">Thread</span> t1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u5F20\u98DE&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Thread</span> t2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u8C82\u8749&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Thread</span> t3 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u5415\u5E03&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//\u542F\u52A8\u7EBF\u7A0B</span>
t1<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t2<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t3<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6765\u770B\u4E00\u4E0B\u6267\u884C\u540E\u7684\u7ED3\u679C\uFF1A</p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/thread/wangzhe-thread-02.png" alt=""></p><p><strong>\u27641\u3001\u4E3A\u4EC0\u4E48\u8981\u91CD\u5199run\u65B9\u6CD5\uFF1F</strong></p><p>\u56E0\u4E3Arun\u65B9\u6CD5\u662F\u7528\u6765\u5C01\u88C5\u88AB\u7EBF\u7A0B\u6267\u884C\u7684\u4EE3\u7801\u3002</p><p><strong>\u27642\u3001<code>run()</code>\u65B9\u6CD5\u548C<code>start()</code>\u65B9\u6CD5\u6709\u4EC0\u4E48\u533A\u522B\uFF1F</strong></p><ul><li><code>run()</code>\uFF1A\u5C01\u88C5\u7EBF\u7A0B\u6267\u884C\u7684\u4EE3\u7801\uFF0C\u76F4\u63A5\u8C03\u7528\u76F8\u5F53\u4E8E\u8C03\u7528\u666E\u901A\u65B9\u6CD5\u3002</li><li><code>start()</code>\uFF1A\u542F\u52A8\u7EBF\u7A0B\uFF0C\u7136\u540E\u7531JVM \u8C03\u7528\u6B64\u7EBF\u7A0B\u7684 <code>run()</code> \u65B9\u6CD5\u3002</li></ul><p><strong>\u27643\u3001\u901A\u8FC7\u7EE7\u627F Thread \u7684\u65B9\u6CD5\u548C\u5B9E\u73B0 Runnable \u63A5\u53E3\u7684\u65B9\u5F0F\u521B\u5EFA\u591A\u7EBF\u7A0B\uFF0C\u54EA\u4E2A\u597D\uFF1F</strong></p><p>\u5B9E\u73B0Runable\u63A5\u53E3\u597D\uFF0C\u539F\u56E0\u6709\u4E24\u4E2A\uFF1A</p><ul><li>\u2660\u2460\u3001\u907F\u514D\u4E86Java\u5355\u7EE7\u627F\u7684\u5C40\u9650\u6027</li><li>\u2660\u2461\u3001\u9002\u5408\u591A\u4E2A\u76F8\u540C\u7684\u7A0B\u5E8F\u4EE3\u7801\u53BB\u5904\u7406\u540C\u4E00\u8D44\u6E90\u7684\u60C5\u51B5\uFF0C\u628A\u7EBF\u7A0B\u3001\u4EE3\u7801\u548C\u6570\u636E\u6709\u6548\u7684\u5206\u79BB\uFF0C\u66F4\u7B26\u5408\u9762\u5411\u5BF9\u8C61\u7684\u8BBE\u8BA1\u601D\u60F3\u3002</li></ul><p>\u9488\u5BF9\u7EBF\u7A0B\u63A7\u5236\uFF0C\u5927\u5BB6\u8FD8\u4F1A\u9047\u5230 3 \u4E2A\u5E38\u89C1\u7684\u65B9\u6CD5\uFF0C\u6211\u4EEC\u6765\u4E00\u4E00\u4ECB\u7ECD\u4E0B\u3002</p><p>1\uFF09<code>sleep()</code>\uFF1A\u4F7F\u5F53\u524D\u6B63\u5728\u6267\u884C\u7684\u7EBF\u7A0B\u6682\u505C\u6307\u5B9A\u7684\u6BEB\u79D2\u6570\uFF0C\u4E5F\u5C31\u662F\u8FDB\u5165\u4F11\u7720\u7684\u72B6\u6001\u3002</p><p>\u9700\u8981\u6CE8\u610F\u7684\u662F\uFF0Csleep \u7684\u65F6\u5019\u8981\u5BF9\u5F02\u5E38\u8FDB\u884C\u5904\u7406\u3002</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">try</span> <span class="token punctuation">{</span><span class="token comment">//sleep\u4F1A\u53D1\u751F\u5F02\u5E38\u8981\u663E\u793A\u5904\u7406</span>
    <span class="token class-name">Thread</span><span class="token punctuation">.</span><span class="token function">sleep</span><span class="token punctuation">(</span><span class="token number">20</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token comment">//\u6682\u505C20\u6BEB\u79D2</span>
<span class="token punctuation">}</span> <span class="token keyword">catch</span> <span class="token punctuation">(</span><span class="token class-name">InterruptedException</span> e<span class="token punctuation">)</span> <span class="token punctuation">{</span>
    e<span class="token punctuation">.</span><span class="token function">printStackTrace</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>2\uFF09<code>join()</code>\uFF1A\u7B49\u5F85\u8FD9\u4E2A\u7EBF\u7A0B\u6267\u884C\u5B8C\u624D\u4F1A\u8F6E\u5230\u540E\u7EED\u7EBF\u7A0B\u5F97\u5230cpu\u7684\u6267\u884C\u6743\uFF0C\u4F7F\u7528\u8FD9\u4E2A\u4E5F\u8981\u629B\u51FA\u5F02\u5E38\u3002</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token comment">//\u521B\u5EFAMyRunnable\u7C7B</span>
<span class="token class-name">MyRunnable</span> mr <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MyRunnable</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//\u521B\u5EFAThread\u7C7B\u7684\u6709\u53C2\u6784\u9020,\u5E76\u8BBE\u7F6E\u7EBF\u7A0B\u540D</span>
<span class="token class-name">Thread</span> t1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u5F20\u98DE&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Thread</span> t2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u8C82\u8749&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Thread</span> t3 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u5415\u5E03&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//\u542F\u52A8\u7EBF\u7A0B</span>
t1<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">try</span> <span class="token punctuation">{</span>
    t1<span class="token punctuation">.</span><span class="token function">join</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//\u7B49\u5F85t1\u6267\u884C\u5B8C\u624D\u4F1A\u8F6E\u5230t2\uFF0Ct3\u62A2</span>
<span class="token punctuation">}</span> <span class="token keyword">catch</span> <span class="token punctuation">(</span><span class="token class-name">InterruptedException</span> e<span class="token punctuation">)</span> <span class="token punctuation">{</span>
    e<span class="token punctuation">.</span><span class="token function">printStackTrace</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
t2<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t3<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6765\u770B\u4E00\u4E0B\u6267\u884C\u540E\u7684\u7ED3\u679C\uFF1A</p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/thread/wangzhe-thread-03.png" alt=""></p><p>3\uFF09<code>setDaemon()</code>\uFF1A\u5C06\u6B64\u7EBF\u7A0B\u6807\u8BB0\u4E3A\u5B88\u62A4\u7EBF\u7A0B\uFF0C\u51C6\u786E\u6765\u8BF4\uFF0C\u5C31\u662F\u670D\u52A1\u5176\u4ED6\u7684\u7EBF\u7A0B\uFF0C\u50CF Java \u4E2D\u7684\u5783\u573E\u56DE\u6536\u7EBF\u7A0B\uFF0C\u5C31\u662F\u5178\u578B\u7684\u5B88\u62A4\u7EBF\u7A0B\u3002</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token comment">//\u521B\u5EFAMyRunnable\u7C7B</span>
<span class="token class-name">MyRunnable</span> mr <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MyRunnable</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//\u521B\u5EFAThread\u7C7B\u7684\u6709\u53C2\u6784\u9020,\u5E76\u8BBE\u7F6E\u7EBF\u7A0B\u540D</span>
<span class="token class-name">Thread</span> t1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u5F20\u98DE&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Thread</span> t2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u8C82\u8749&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Thread</span> t3 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Thread</span><span class="token punctuation">(</span>mr<span class="token punctuation">,</span> <span class="token string">&quot;\u5415\u5E03&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

t1<span class="token punctuation">.</span><span class="token function">setDaemon</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t2<span class="token punctuation">.</span><span class="token function">setDaemon</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token comment">//\u542F\u52A8\u7EBF\u7A0B</span>
t1<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t2<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
t3<span class="token punctuation">.</span><span class="token function">start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u5982\u679C\u5176\u4ED6\u7EBF\u7A0B\u90FD\u6267\u884C\u5B8C\u6BD5\uFF0Cmain \u65B9\u6CD5\uFF08\u4E3B\u7EBF\u7A0B\uFF09\u4E5F\u6267\u884C\u5B8C\u6BD5\uFF0CJVM \u5C31\u4F1A\u9000\u51FA\uFF0C\u4E5F\u5C31\u662F\u505C\u6B62\u8FD0\u884C\u3002\u5982\u679C JVM \u90FD\u505C\u6B62\u8FD0\u884C\u4E86\uFF0C\u5B88\u62A4\u7EBF\u7A0B\u81EA\u7136\u4E5F\u5C31\u505C\u6B62\u4E86\u3002</p><p>\u6700\u540E\u518D\u6765\u770B\u4E00\u4E0B\u7EBF\u7A0B\u7684\u751F\u547D\u5468\u671F\u5427\uFF0C\u4E00\u56FE\u80DC\u5343\u8A00\u3002</p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/thread/wangzhe-thread-04.png" alt=""></p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png">`,50),o=[e];function c(l,u){return s(),a("div",null,o)}var r=n(p,[["render",c],["__file","wangzhe-thread.html.vue"]]);export{r as default};