{"id":180,"date":"2026-07-21T10:23:37","date_gmt":"2026-07-21T02:23:37","guid":{"rendered":"https:\/\/mofan.help\/?p=180"},"modified":"2026-07-22T19:50:54","modified_gmt":"2026-07-22T11:50:54","slug":"%e5%a4%9a%e7%ba%bf%e7%a8%8b%e5%9f%ba%e7%a1%80","status":"publish","type":"post","link":"https:\/\/mofan.help\/index.php\/2026\/07\/21\/%e5%a4%9a%e7%ba%bf%e7%a8%8b%e5%9f%ba%e7%a1%80\/","title":{"rendered":"\u591a\u7ebf\u7a0b"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">\u591a\u7ebf\u7a0b\u57fa\u7840<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">\u4ec0\u4e48\u662f\u591a\u7ebf\u7a0b<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/63de12099b238b3ad9f875fe2d8dfc0a.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"746\" height=\"437\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/63de12099b238b3ad9f875fe2d8dfc0a.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-183\"  sizes=\"(max-width: 746px) 100vw, 746px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u5e76\u53d1\u548c\u5e76\u884c<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/8b67c1c735d0b772a3743935d5b51ed7.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"311\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/8b67c1c735d0b772a3743935d5b51ed7.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-184\"  sizes=\"(max-width: 760px) 100vw, 760px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u591a\u7ebf\u7a0b\u7684\u5b9e\u73b0\u65b9\u5f0f<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u7ee7\u627fThread\u7c7b\u7684\u65b9\u5f0f\u884c\u8fdb\u5b9e\u73b0<\/h3>\n\n\n\n<p>\u7ee7\u627fThread\u7c7b\u5b9e\u73b0\u591a\u7ebf\u7a0b\u662f\u901a\u8fc7\u521b\u5efaThread\u7684\u5b50\u7c7b\u5e76\u91cd\u5199\u5176<code>run()<\/code>\u65b9\u6cd5\u4ee5\u5b9a\u4e49\u4efb\u52a1\uff0c\u518d\u8c03\u7528<code>start()<\/code>\u65b9\u6cd5\u542f\u52a8\u7ebf\u7a0b\uff0c\u4f46\u8be5\u65b9\u5f0f\u53d7Java\u5355\u7ee7\u627f\u5c40\u9650\u4e14\u7ebf\u7a0b\u4e0e\u4efb\u52a1\u7d27\u5bc6\u8026\u5408\uff0c\u4e0d\u5229\u4e8e\u8d44\u6e90\u5171\u4eab\u3002<\/p>\n\n\n\n<p>\u521b\u5efaThread\u5b50\u7c7b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class MyThread extends Thread{\n    @Override\n    public void run() {\n        for (int i = 0; i &lt; 100; i++) {\n            System.out.println(getName() + \"HelloWorld!\");\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u8c03\u7528start\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class ThreadDemo {\n    public static void main(String&#91;] args) {\n        MyThread myThread1 = new MyThread();\n        MyThread myThread2 = new MyThread();\n        myThread1.setName(\"\u7ebf\u7a0b\u4e00\");\n        myThread2.setName(\"\u7ebf\u7a0b\u4e8c\");\n        myThread1.start();\n        myThread2.start();\n    }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9e\u73b0Runnable\u63a5\u53e3\u7684\u65b9\u5f0f\u8fdb\u884c\u5b9e\u73b0<\/h3>\n\n\n\n<p>\u5b9e\u73b0Runnable\u63a5\u53e3\u662f\u628a\u4efb\u52a1\u4ee3\u7801\u5b9a\u4e49\u5728\u5b9e\u73b0\u7c7b\u7684<code>run()<\/code>\u65b9\u6cd5\u4e2d\uff0c\u518d\u5c06\u8be5\u5b9e\u4f8b\u4f5c\u4e3a\u76ee\u6807\u5bf9\u8c61\u4f20\u5165<code>Thread<\/code>\u7c7b\u5e76\u8c03\u7528<code>start()<\/code>\u542f\u52a8\uff0c\u6b64\u65b9\u5f0f\u89e3\u8026\u4e86\u7ebf\u7a0b\u4e0e\u4efb\u52a1\u3001\u89c4\u907f\u4e86\u5355\u7ee7\u627f\u5c40\u9650\uff0c\u4e14\u66f4\u9002\u5408\u591a\u7ebf\u7a0b\u5171\u4eab\u540c\u4e00\u8d44\u6e90\u3002<\/p>\n\n\n\n<p>\u5b9e\u73b0Runnable\u63a5\u53e3\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class MyRun implements Runnable{\n    @Override\n    public void run() {\n        for (int i = 0; i &lt; 100; i++) {\n            System.out.println(Thread.currentThread().getName() + \"Hello\");\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u5c06\u8be5\u5b9e\u4f8b\u4f5c\u4e3a\u76ee\u6807\u5bf9\u8c61\u4f20\u5165<code>Thread<\/code>\u7c7b\u5e76\u8c03\u7528<code>start()<\/code>\u542f\u52a8<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class ThreadDemo {\n    public static void main(String&#91;] args) {\n        MyRun myRun = new MyRun();\n\n        Thread t1 = new Thread(myRun);\n        Thread t2 = new Thread(myRun);\n\n        t1.setName(\"\u7ebf\u7a0b\u4e00\");\n        t2.setName(\"\u7ebf\u7a0b\u4e8c\");\n\n        t1.start();\n        t2.start();\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5229\u7528Callable\u63a5\u53e3\u548cFuture\u63a5\u53e3\u7684\u65b9\u5f0f\u5b9e\u73b0<\/h3>\n\n\n\n<p>\u5b9e\u73b0Callable\u63a5\u53e3\u5e76\u91cd\u5199\u5176<code>call()<\/code>\u65b9\u6cd5\u4ee5\u5b9a\u4e49\u5e26\u8fd4\u56de\u503c\u548c\u53ef\u629b\u51fa\u5f02\u5e38\u7684\u4efb\u52a1\uff0c\u518d\u901a\u8fc7<code>FutureTask<\/code>\u7c7b\u5305\u88c5\u540e\u4ea4\u7531<code>Thread<\/code>\u542f\u52a8\u6216\u76f4\u63a5\u63d0\u4ea4\u7ed9\u7ebf\u7a0b\u6c60\uff0c\u6700\u540e\u5229\u7528<code>Future<\/code>\u63a5\u53e3\u7684<code>get()<\/code>\u65b9\u6cd5\u963b\u585e\u83b7\u53d6\u5f02\u6b65\u8ba1\u7b97\u7ed3\u679c\uff0c\u4ece\u800c\u652f\u6301\u8fd4\u56de\u503c\u3001\u5f02\u5e38\u6355\u83b7\u548c\u4efb\u52a1\u53d6\u6d88\u7b49\u6269\u5c55\u529f\u80fd\u3002<\/p>\n\n\n\n<p>\u5b9e\u73b0Callable\u63a5\u53e3<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class MyCallable implements Callable&lt;Integer&gt; {\n    \/*\n    * \u6c421-100\u7684\u6574\u6570\u548c*\/\n    @Override\n    public Integer call() throws Exception {\n        int sum = 0;\n        for (int i = 1; i &lt;= 100; i++) {\n            sum += i;\n        }\n        return sum;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u901a\u8fc7<code>FutureTask<\/code>\u7c7b\u5305\u88c5\u540e\u4ea4\u7531<code>Thread<\/code>\u542f\u52a8\u6216\u76f4\u63a5\u63d0\u4ea4\u7ed9\u7ebf\u7a0b\u6c60\uff0c\u6700\u540e\u5229\u7528<code>Future<\/code>\u63a5\u53e3\u7684<code>get()<\/code>\u65b9\u6cd5\u963b\u585e\u83b7\u53d6\u5f02\u6b65\u8ba1\u7b97\u7ed3\u679c\uff0c\u4ece\u800c\u652f\u6301\u8fd4\u56de\u503c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class ThreadDemo {\n    public static void main(String&#91;] args) throws ExecutionException, InterruptedException {\n        FutureTask&lt;Integer&gt; futureTask = new FutureTask&lt;&gt;(new MyCallable());\n        new Thread(futureTask).start();\n        Integer sum = futureTask.get();\n        System.out.println(sum);\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e09\u79cd\u5b9e\u73b0\u65b9\u5f0f\u7684\u5bf9\u6bd4<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/4725012bc279afdc5bba57466215b9a1-1024x340.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"340\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/4725012bc279afdc5bba57466215b9a1-1024x340.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-188\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u5e38\u89c1\u7684\u6210\u5458\u65b9\u6cd5<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/4605be004033212d0659bb70d191e2a5-1024x502.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"502\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/4605be004033212d0659bb70d191e2a5-1024x502.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-189\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">setName(String name)<\/h3>\n\n\n\n<p>\u7ec6\u8282\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u6ca1\u6709\u7ed9\u7ebf\u7a0b\u8bbe\u7f6e\u540d\u5b57\uff0c\u7ebf\u7a0b\u4e5f\u662f\u6709\u9ed8\u8ba4\u7684\u540d\u5b57\u7684<br>    \u683c\u5f0f\uff1aThread-X\uff08X\u5e8f\u53f7\uff0c\u4ece0\u5f00\u59cb\uff09<\/li>\n\n\n\n<li>\u5982\u679c\u8981\u7ed9\u7ebf\u7a0b\u8bbe\u7f6e\u540d\u5b57\uff0c\u53ef\u4ee5\u7528set\u65b9\u6cd5\u8fdb\u884c\u8bbe\u7f6e\uff0c\u4e5f\u53ef\u4ee5\u7528\u6784\u9020\u65b9\u6cd5\u8bbe\u7f6e<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>public class ThreadDemo {\n    public static void main(String&#91;] args) {\n        MyThread myThread1 = new MyThread();\n        System.out.println(myThread1.getName());\/\/Thread-0\n\n        MyThread myThread2 = new MyThread();\n        myThread2.setName(\"\u7ebf\u7a0b1\");\n        System.out.println(myThread2.getName());\/\/\u7ebf\u7a0b1\n\n        MyThread myThread3 = new MyThread(\"\u7ebf\u7a0b\u4e8c\");\n        System.out.println(myThread3.getName());\/\/\u7ebf\u7a0b\u4e8c\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">currentThread()<\/h3>\n\n\n\n<p>\u7ec6\u8282\uff1a<br>        \u5f53JVM\u865a\u62df\u673a\u542f\u52a8\u4e4b\u540e\uff0c\u4f1a\u81ea\u52a8\u7684\u542f\u52a8\u591a\u6761\u7ebf\u7a0b<br>        \u5176\u4e2d\u4e00\u6761\u7ebf\u7a0b\u5c31\u53eb\u505amain\u7ebf\u7a0b<br>        \u4ed6\u7684\u4f5c\u7528\u5c31\u662f\u53bb\u8c03\u7528main\u65b9\u6cd5\uff0c\u5e76\u6267\u884c\u91cc\u9762\u7684\u4ee3\u7801<br>        \u5728\u4e4b\u524d\uff0c\u5199\u7684\u6240\u6709\u7684\u4ee3\u7801\uff0c\u5176\u5b9e\u90fd\u662f\u8fd0\u884c\u5728main\u7ebf\u7a0b\u4e2d\u7684<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class ThreadDemo2 {\n    public static void main(String&#91;] args) {\n        Thread t = Thread.currentThread();\n        System.out.println(t.getName());\/\/main\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">sleep(long time)<\/h3>\n\n\n\n<p>\u7ec6\u8282\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u54ea\u6761\u7ebf\u7a0b\u6267\u884c\u5230\u8fd9\u4e2a\u65b9\u6cd5\uff0c\u90a3\u4e48\u54ea\u6761\u7ebf\u7a0b\u5c31\u4f1a\u5728\u8fd9\u91cc\u505c\u7559\u5bf9\u5e94\u7684\u65f6\u95f4<\/li>\n\n\n\n<li>\u65b9\u6cd5\u7684\u53c2\u6570\uff1a\u5c31\u8868\u793a\u7761\u7720\u7684\u65f6\u95f4\uff0c\u5355\u4f4d\u6beb\u79d2<\/li>\n\n\n\n<li>\u5f53\u65f6\u95f4\u5230\u4e86\u4e4b\u540e\uff0c\u7ebf\u7a0b\u5c31\u4f1a\u81ea\u52a8\u7684\u9192\u6765\uff0c\u7ee7\u7eed\u6267\u884c\u4e0b\u9762\u7684\u4ee3\u7801<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>public class ThreadDemo2 {\n    public static void main(String&#91;] args) throws InterruptedException {\n        Thread t = Thread.currentThread();\n        System.out.println(\"\u6211\u8981\u7761\u7720\u4e86\");\n        long start = System.currentTimeMillis();\n        Thread.sleep(5000);\n        long end = System.currentTimeMillis();\n        System.out.println(\"\u6211\u9192\u4e86\");\n        System.out.println(t.getName() + \"\u7761\u7720\u4e86\" + (start - end) + \"\u6beb\u79d2\");\/\/main\u7761\u7720\u4e86-5003\u6beb\u79d2\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u7ebf\u7a0b\u7684\u4f18\u5148\u7ea7<\/h3>\n\n\n\n<p>\u7ebf\u7a0b\u7684\u4f18\u5148\u7ea7\u9ed8\u8ba4\u4e3a5\uff0c\u6700\u5c0f\u4e3a1.\u6700\u5927\u4e3a10<\/p>\n\n\n\n<p>\u4f18\u5148\u7ea7\u7684\u5927\u5c0f\u4e0d\u80fd\u5b8c\u5168\u51b3\u5b9acpu\u7684\u62a2\u5360\uff0c\u53ea\u662f\u6982\u7387\u95ee\u9898<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b88\u62a4\u8fdb\u7a0b<\/h3>\n\n\n\n<p>\u5b88\u62a4\u7ebf\u7a0b\u662f\u5728\u540e\u53f0\u8fd0\u884c\u7684\u8f85\u52a9\u6027\u7ebf\u7a0b\uff08\u5982JVM\u7684\u5783\u573e\u56de\u6536\uff09\uff0c\u5176\u6838\u5fc3\u7279\u5f81\u662f<strong>\u4e0d\u4f1a\u963b\u6b62JVM\u9000\u51fa<\/strong>\u2014\u2014\u5f53\u6240\u6709\u975e\u5b88\u62a4\uff08\u7528\u6237\uff09\u7ebf\u7a0b\u6267\u884c\u5b8c\u6bd5\u540e\uff0c\u65e0\u8bba\u5b88\u62a4\u7ebf\u7a0b\u662f\u5426\u4ecd\u5728\u8fd0\u884c\uff0cJVM\u90fd\u4f1a\u5f3a\u884c\u7ec8\u6b62\u5b83\u4eec\u5e76\u76f4\u63a5\u5173\u95ed\u7a0b\u5e8f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u51fa\u8ba9\u7ebf\u7a0b<\/h3>\n\n\n\n<p>\u51fa\u8ba9\u7ebf\u7a0b\u901a\u8fc7<code>Thread.yield()<\/code>\u65b9\u6cd5\u4f7f\u5f53\u524d\u7ebf\u7a0b\u4ece\u8fd0\u884c\u72b6\u6001\u4e3b\u52a8\u9000\u56de\u5230\u5c31\u7eea\u72b6\u6001\uff0c\u5411\u7ebf\u7a0b\u8c03\u5ea6\u5668\u63d0\u793a\u613f\u610f\u8ba9\u51fa\u5f53\u524dCPU\u6267\u884c\u6743\u4ee5\u5141\u8bb8\u540c\u4f18\u5148\u7ea7\u6216\u66f4\u9ad8\u4f18\u5148\u7ea7\u7684\u5176\u4ed6\u7ebf\u7a0b\u83b7\u5f97\u8fd0\u884c\u673a\u4f1a\uff0c\u4f46\u8be5\u64cd\u4f5c\u4ec5\u4e3a\u5efa\u8bae\u4e14\u4e0d\u91ca\u653e\u4efb\u4f55\u9501\u8d44\u6e90\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u63d2\u5165\u7ebf\u7a0b<\/h3>\n\n\n\n<p>\u7ebf\u7a0b\u63d2\u5165\u901a\u8fc7\u8c03\u7528\u76ee\u6807\u7ebf\u7a0b\u7684<code>join()<\/code>\u65b9\u6cd5\uff0c\u5c06\u76ee\u6807\u7ebf\u7a0b\u201c\u63d2\u5165\u201d\u5230\u5f53\u524d\u7ebf\u7a0b\u4e4b\u524d\u5f3a\u5236\u6267\u884c\uff0c\u8feb\u4f7f\u5f53\u524d\u7ebf\u7a0b\u8fdb\u5165\u963b\u585e\u7b49\u5f85\u72b6\u6001\uff0c\u76f4\u5230\u76ee\u6807\u7ebf\u7a0b\u8fd0\u884c\u7ed3\u675f\u6216\u8fbe\u5230\u6307\u5b9a\u7684\u8d85\u65f6\u65f6\u95f4\uff0c\u4ece\u800c\u5b9e\u73b0\u7ebf\u7a0b\u6267\u884c\u7684\u987a\u5e8f\u5408\u5e76\u4e0e\u540c\u6b65\u534f\u8c03\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7ebf\u7a0b\u7684\u751f\u547d\u5468\u671f<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-23-1024x452.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"452\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-23-1024x452.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-193\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u7ebf\u7a0b\u5b89\u5168<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u540c\u6b65\u4ee3\u7801\u5757<\/h3>\n\n\n\n<p><code>synchronized<\/code>\u540c\u6b65\u4ee3\u7801\u5757\u901a\u8fc7\u83b7\u53d6\u6307\u5b9a\u5bf9\u8c61\u7684\u76d1\u89c6\u5668\u9501\uff08Monitor Lock\uff09\uff0c\u5f3a\u5236\u7ebf\u7a0b\u4e32\u884c\u6267\u884c\u62ec\u53f7\u5185\u7684\u4e34\u754c\u533a\u4ee3\u7801\uff0c\u65e2\u4fdd\u8bc1\u4e86\u64cd\u4f5c\u7684\u539f\u5b50\u6027\uff0c\u53c8\u901a\u8fc7\u9501\u91ca\u653e\u65f6\u7684\u201chappens-before\u201d\u89c4\u5219\u786e\u4fdd\u53d8\u91cf\u4fee\u6539\u5bf9\u540e\u7eed\u83b7\u53d6\u9501\u7684\u7ebf\u7a0b\u7acb\u5373\u53ef\u89c1\uff0c\u4ece\u800c\u89e3\u51b3\u591a\u7ebf\u7a0b\u5e76\u53d1\u5b89\u5168\u95ee\u9898\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/fab389c9e984670f80663ef71214000b-1024x432.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/fab389c9e984670f80663ef71214000b-1024x432.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-194\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>public class MyThread extends Thread{\n    private static int ticket = 0;\n    \/\/\u5356\u7968\n    @Override\n    public void run() {\n        while (true) {\n            synchronized (MyThread.class) {\n                if (ticket &lt; 100) {\n                    try {\n                        sleep(10);\n                    } catch (InterruptedException e) {\n                        throw new RuntimeException(e);\n                    }\n                    System.out.println(getName() + \"\u6b63\u5728\u5356\u7b2c\" + ++ticket + \"\u5f20\u7968\uff01\");\n                } else {\n                    break;\n                }\n            }\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u540c\u6b65\u65b9\u6cd5<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/fab389c9e984670f80663ef71214000b-1-1024x432.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/fab389c9e984670f80663ef71214000b-1-1024x432.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-195\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>public class MyRunnable implements Runnable{\n    int ticket = 0;\n    @Override\n    public void run() {\n        while (true) {\n            try {\n                Thread.sleep(10);\n            } catch (InterruptedException e) {\n                throw new RuntimeException(e);\n            }\n            if (tickets()){\n                break;\n            }\n        }\n\n    }\n\n    private synchronized boolean tickets() {\n        if (ticket == 100) {\n            return true;\n        } else {\n            System.out.println(Thread.currentThread().getName() + \"\u6b63\u5728\u5356\u7b2c\" + ++ticket + \"\u5f20\u7968\");\n        }\n        return false;\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">lock\u9501<\/h3>\n\n\n\n<p><code>Lock<\/code>\u9501\u662f\u57fa\u4e8eAQS\uff08\u62bd\u8c61\u961f\u5217\u540c\u6b65\u5668\uff09\u5b9e\u73b0\u7684\u663e\u5f0f\u540c\u6b65\u63a5\u53e3\uff0c\u9700\u5728<code>try-finally<\/code>\u4ee3\u7801\u5757\u4e2d\u624b\u52a8\u6267\u884c<code>lock()<\/code>\u4e0e<code>unlock()<\/code>\uff0c\u76f8\u6bd4<code>synchronized<\/code>\u63d0\u4f9b\u4e86<code>tryLock<\/code>\u975e\u963b\u585e\u5c1d\u8bd5\u3001\u8d85\u65f6\u7b49\u5f85\u53ca\u53ef\u4e2d\u65ad\u83b7\u53d6\u7b49\u66f4\u7075\u6d3b\u7684\u7ebf\u7a0b\u63a7\u5236\u80fd\u529b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class MyThread extends Thread{\n    private static int ticket = 0;\n    static Lock lock = new ReentrantLock();\n    \/\/\u5356\u7968\n    @Override\n    public void run() {\n        while (true) {\n            try {\n                sleep(10);\n            } catch (InterruptedException e) {\n                throw new RuntimeException(e);\n            }\n            lock.lock();\n            try {\n                if (ticket &lt; 100) {\n                    System.out.println(getName() + \"\u6b63\u5728\u5356\u7b2c\" + ++ticket + \"\u5f20\u7968\uff01\");\n                } else {\n                    break;\n                }\n            } finally {\n                lock.unlock();\n            }\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u6b7b\u9501<\/h3>\n\n\n\n<p>\u6b7b\u9501\u662f\u5e76\u53d1\u7a0b\u5e8f\u4e2d\u7684\u4e00\u79cd\u50f5\u5c40\u72b6\u6001\uff0c\u6307\u4e24\u4e2a\u6216\u591a\u4e2a\u7ebf\u7a0b\u56e0\u5404\u81ea\u6301\u6709\u5bf9\u65b9\u6240\u9700\u7684\u7cfb\u7edf\u8d44\u6e90\u4e14\u76f8\u4e92\u7b49\u5f85\uff08\u6ee1\u8db3\u4e92\u65a5\u3001\u6301\u6709\u5e76\u7b49\u5f85\u3001\u4e0d\u53ef\u62a2\u5360\u3001\u5faa\u73af\u7b49\u5f85\u56db\u4e2a\u5fc5\u8981\u6761\u4ef6\uff09\uff0c\u5bfc\u81f4\u6240\u6709\u53c2\u4e0e\u7ebf\u7a0b\u6c38\u4e45\u963b\u585e\u800c\u65e0\u6cd5\u7ee7\u7eed\u63a8\u8fdb\uff0c\u6700\u7ec8\u5f15\u53d1\u5e94\u7528\u65e0\u54cd\u5e94\u6216\u7cfb\u7edf\u6302\u8d77\u7684\u4e25\u91cd\u6545\u969c\u3002<\/p>\n\n\n\n<p>\u4ee3\u7801\u793a\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">public class MyThread extends Thread{<br>    static Object <em>obj1 <\/em>= new Object();<br>    static Object <em>obj2 <\/em>= new Object();<br><br>    @Override<br>    public void run() {<br>        while (true) {<br>            if (\"\u7ebf\u7a0bA\".equals(getName())) {<br>                synchronized (<em>obj1<\/em>) {<br>                    System.<em>out<\/em>.println(\"\u7ebf\u7a0bA\u62ff\u5230\u4e861\u9501\uff0c\u51c6\u5907\u62ff2\u9501\");<br><br>                    synchronized (<em>obj2<\/em>) {<br>                        System.<em>out<\/em>.println(\"\u7ebf\u7a0bA\u62ff\u5230\u4e862\u9501\uff0c\u987a\u5229\u6267\u884c\");<br>                    }<br>                }<br><br>            } else if (\"\u7ebf\u7a0bB\".equals(getName())) {<br>                synchronized (<em>obj2<\/em>) {<br>                    System.<em>out<\/em>.println(\"\u7ebf\u7a0bB\u62ff\u5230\u4e862\u9501\uff0c\u51c6\u5907\u62ff1\u9501\");<br>                    synchronized (<em>obj1<\/em>) {<br>                        System.<em>out<\/em>.println(\"\u7ebf\u7a0bB\u62ff\u5230\u4e861\u9501\uff0c\u987a\u5229\u6267\u884c\");<br>                    }<br>                }<br>            }<br>        }<br>    }<br>}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u7b49\u5f85\u5524\u9192\u673a\u5236<\/h2>\n\n\n\n<p>\u7b49\u5f85\u5524\u9192\u673a\u5236\u662f\u7ebf\u7a0b\u95f4\u57fa\u4e8e\u5171\u4eab\u9501\u5bf9\u8c61\u7684\u534f\u4f5c\u901a\u4fe1\u6a21\u578b\uff0c\u7ebf\u7a0b\u5728\u6761\u4ef6\u4e0d\u6ee1\u8db3\u65f6\u4e3b\u52a8\u91ca\u653e\u9501\u5e76\u8fdb\u5165\u963b\u585e\u7b49\u5f85\uff08<code>wait\/await<\/code>\uff09\uff0c\u5f85\u5176\u4ed6\u7ebf\u7a0b\u6539\u53d8\u6761\u4ef6\u540e\u53d1\u51fa\u901a\u77e5\uff08<code>notify\/signal<\/code>\uff09\uff0c\u88ab\u5524\u9192\u7ebf\u7a0b\u9700\u91cd\u65b0\u7ade\u4e89\u9501\u5e76<strong>\u5faa\u73af\u6821\u9a8c<\/strong>\u6761\u4ef6\u540e\u624d\u80fd\u7ee7\u7eed\u6267\u884c\uff0c\u4ee5\u6b64\u907f\u514d\u65e0\u6548\u81ea\u65cb\u5e76\u89e3\u51b3\u751f\u4ea7\u8005-\u6d88\u8d39\u8005\u7b49\u534f\u540c\u573a\u666f\u95ee\u9898\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/97c37d3189c1468ddff36f41792f8d0c-1024x354.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"354\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/97c37d3189c1468ddff36f41792f8d0c-1024x354.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-198\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u6848\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class Foodie extends Thread{\n    @Override\n    public void run() {\n        \/\/\u5faa\u73af\n        while (true) {\n            synchronized (Desk.lock) {\n                \/\/\u5224\u65ad\u81ea\u5df1\u8fd8\u80fd\u4e0d\u80fd\u5403\n                if (Desk.count == 0) {\n                    \/\/\u5403\u4e0d\u4e86\u4e86\n                    break;\n                }\n                \/\/\u8fd8\u80fd\u5403\uff0c\u5224\u65ad\u684c\u4e0a\u662f\u5426\u6709\u98df\u7269\n                if (Desk.foodFlag == 0) {\n                    \/\/\u6ca1\u98df\u7269\uff0c\u7b49\u5f85\n                    try {\n                        Desk.lock.wait();\n                    } catch (InterruptedException e) {\n                        throw new RuntimeException(e);\n                    }\n                } else {\n                    \/\/\u6709\uff0c\u5c31\u5403\uff0c\u66f4\u65b0\u72b6\u6001\n                    Desk.count--;\n                    System.out.println(getName() + \"\u5403\u4e86\u4e00\u7897\uff0c\u8fd8\u80fd\u5403\" + Desk.count + \"\u7897\uff01\uff01\uff01\");\n                    Desk.foodFlag = 0;\n                    \/\/ \u5524\u9192\u53a8\u5e08\n                    Desk.lock.notify();\n                }\n            }\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>public class Cook extends Thread{\n    @Override\n    public void run() {\n        synchronized (Desk.lock){\n            while (true){\n                if(Desk.count == 0){\n                    break;\n                }\n                if(Desk.foodFlag == 1) {\n                    \/\/\u7b49\u5f85\n                    try {\n                        Desk.lock.wait();\n                    } catch (InterruptedException e) {\n                        throw new RuntimeException(e);\n                    }\n                } else {\n                    \/\/\u5904\u7406\u4e1a\u52a1\n                    Desk.foodFlag = 1;\n                    System.out.println(getName() + \"\u505a\u597d\u4e86\u98df\u7269,\u5feb\u6765\u5403\u5427\");\n                    Desk.lock.notify();\n                }\n            }\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>public class Desk {\n    public static int foodFlag = 0;\n    public static Lock lock = new ReentrantLock();\n    public static int count = 10;\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u963b\u585e\u961f\u5217<\/h3>\n\n\n\n<p>\u963b\u585e\u961f\u5217\uff08BlockingQueue\uff09\u662fJUC\u5305\u4e0b\u652f\u6301\u963b\u585e\u64cd\u4f5c\u7684\u7ebf\u7a0b\u5b89\u5168\u961f\u5217\uff0c\u5f53\u961f\u5217\u4e3a\u7a7a\u65f6\uff0c<strong>\u83b7\u53d6\uff08take\uff09\u64cd\u4f5c\u4f1a\u963b\u585e<\/strong>\uff0c\u5f53\u961f\u5217\u6ee1\u65f6\uff0c<strong>\u63d2\u5165\uff08put\uff09\u64cd\u4f5c\u4f1a\u963b\u585e<\/strong>\uff0c\u5b83\u5185\u90e8\u81ea\u52a8\u5c01\u88c5\u4e86<code>wait\/notify<\/code>\u903b\u8f91\uff0c\u8ba9\u4f60<strong>\u65e0\u9700\u624b\u5199<\/strong>\u590d\u6742\u7684\u7b49\u5f85\u5524\u9192\u673a\u5236\u5373\u53ef\u4f18\u96c5\u5b9e\u73b0\u751f\u4ea7\u8005-\u6d88\u8d39\u8005\u6a21\u5f0f<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import java.util.concurrent.ArrayBlockingQueue;<br>import java.util.concurrent.BlockingQueue;<br>public class BlockingQueueDemo {<br>    public static void main(String[] args) {<br>        BlockingQueue&lt;String> queue = new ArrayBlockingQueue&lt;>(1);<br><br>        <em>\/\/ \u751f\u4ea7\u8005\uff08\u53a8\u5e08\uff09<\/em><br>        new Thread(() -> {<br>            try {<br>                for (int i = 1; i &lt;= 5; i++) {<br>                    String food = \"\u9762\u6761\" + i;<br>                    queue.put(food); <em>\/\/ \u961f\u5217\u6ee1\u65f6\u963b\u585e<\/em><br>                    System.out.println(\"\u53a8\u5e08\u505a\u597d\u4e86: \" + food);<br>                }<br>            } catch (InterruptedException e) {}<br>        }).start();<br><br>        <em>\/\/ \u6d88\u8d39\u8005\uff08\u98df\u5ba2\uff09<\/em><br>        new Thread(() -> {<br>            try {<br>                for (int i = 1; i &lt;= 5; i++) {<br>                    String food = queue.take(); <em>\/\/ \u961f\u5217\u7a7a\u65f6\u963b\u585e<\/em><br>                    System.out.println(\"\u98df\u5ba2\u5403\u5b8c\u4e86: \" + food);<br>                }<br>            } catch (InterruptedException e) {}<br>        }).start();<br>    }<br>}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u7ebf\u7a0b\u7684\u72b6\u6001<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-24.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"899\" height=\"570\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-24.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-199\"  sizes=\"(max-width: 899px) 100vw, 899px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u7ebf\u7a0b\u6c60<\/h2>\n\n\n\n<p>\u539f\u7406\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-25-1024x452.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"452\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-25-1024x452.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-204\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u5b9e\u73b0\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-26-1024x360.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"360\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-26-1024x360.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-205\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<pre class=\"wp-block-preformatted\">import java.util.concurrent.ExecutorService;\nimport java.util.concurrent.Executors;\n\npublic class ThreadPoolDemo {\n    public static void main(String[] args) {\n        <em>\/\/ 1. \u521b\u5efa\u4e00\u4e2a\u56fa\u5b9a\u5927\u5c0f\u4e3a 3 \u7684\u7ebf\u7a0b\u6c60<\/em>\n        ExecutorService pool = Executors.newFixedThreadPool(3);\n\n        <em>\/\/ 2. \u63d0\u4ea4 5 \u4e2a\u4efb\u52a1\u7ed9\u7ebf\u7a0b\u6c60\u6267\u884c<\/em>\n        for (int i = 1; i &lt;= 5; i++) {\n            int taskId = i;\n            pool.execute(() -&gt; {\n                System.out.println(Thread.currentThread().getName() + \" \u6b63\u5728\u6267\u884c\u4efb\u52a1 \" + taskId);\n                try {\n                    Thread.sleep(500); <em>\/\/ \u6a21\u62df\u4e1a\u52a1\u8017\u65f6<\/em>\n                } catch (InterruptedException e) {\n                    e.printStackTrace();\n                }\n            });\n        }\n\n        <em>\/\/ 3. \u5173\u95ed\u7ebf\u7a0b\u6c60\uff08\u4e0d\u518d\u63a5\u6536\u65b0\u4efb\u52a1\uff0c\u7b49\u5f85\u5df2\u6709\u4efb\u52a1\u6267\u884c\u5b8c\u6bd5\uff09<\/em>\n        pool.shutdown();\n    }\n}<\/pre>\n\n\n\n<p>\u81ea\u5b9a\u4e49\u7ebf\u7a0b\u6c60\u7684\u4e03\u4e2a\u53c2\u6570\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-27-1024x462.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"462\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-27-1024x462.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-206\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u5e95\u5c42\u539f\u7406\uff1a<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-28.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"841\" height=\"477\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-28.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-207\"  sizes=\"(max-width: 841px) 100vw, 841px\" \/><\/div><\/figure>\n\n\n\n<p>demo\uff1a<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.util.concurrent.*;\nimport java.util.concurrent.atomic.AtomicInteger;\n\npublic class CustomThreadPoolDemo {\n    public static void main(String&#91;] args) {\n        \/\/ 1. corePoolSize\uff1a\u6838\u5fc3\u7ebf\u7a0b\u6570\uff082\u4e2a\uff09\n        \/\/ 2. maximumPoolSize\uff1a\u6700\u5927\u7ebf\u7a0b\u6570\uff085\u4e2a\uff09\n        \/\/ 3. keepAliveTime\uff1a\u975e\u6838\u5fc3\u7ebf\u7a0b\u7a7a\u95f2\u5b58\u6d3b\u65f6\u95f4\uff0810\u79d2\uff09\n        \/\/ 4. unit\uff1a\u65f6\u95f4\u5355\u4f4d\uff08\u79d2\uff09\n        \/\/ 5. workQueue\uff1a\u963b\u585e\u961f\u5217\uff08\u5bb9\u91cf\u4e3a3\u7684ArrayBlockingQueue\uff09\n        \/\/ 6. threadFactory\uff1a\u81ea\u5b9a\u4e49\u7ebf\u7a0b\u5de5\u5382\uff08\u8bbe\u7f6e\u7ebf\u7a0b\u540d\u548c\u4f18\u5148\u7ea7\uff09\n        \/\/ 7. handler\uff1a\u62d2\u7edd\u7b56\u7565\uff08\u81ea\u5b9a\u4e49\u6253\u5370\u65e5\u5fd7\uff09\n        ThreadPoolExecutor pool = new ThreadPoolExecutor(\n                2,                              \/\/ \u6838\u5fc3\u7ebf\u7a0b\u6570\n                5,                              \/\/ \u6700\u5927\u7ebf\u7a0b\u6570\n                10L,                            \/\/ \u7a7a\u95f2\u5b58\u6d3b\u65f6\u95f4\n                TimeUnit.SECONDS,               \/\/ \u65f6\u95f4\u5355\u4f4d\n                new ArrayBlockingQueue&lt;>(3),    \/\/ \u4efb\u52a1\u961f\u5217\uff08\u5bb9\u91cf3\uff09\n                new CustomThreadFactory(),      \/\/ \u81ea\u5b9a\u4e49\u7ebf\u7a0b\u5de5\u5382\n                new CustomRejectedHandler()     \/\/ \u81ea\u5b9a\u4e49\u62d2\u7edd\u7b56\u7565\n        );\n\n        \/\/ \u63d0\u4ea4 10 \u4e2a\u4efb\u52a1\uff08\u89e6\u53d1\u62d2\u7edd\u7b56\u7565\uff09\n        \/\/ \u6267\u884c\u903b\u8f91\uff1a\n        \/\/ - \u7b2c1\u30012\u4e2a\uff1a\u7531\u6838\u5fc3\u7ebf\u7a0b\uff08core=2\uff09\u6267\u884c\n        \/\/ - \u7b2c3\u30014\u30015\u4e2a\uff1a\u653e\u5165\u961f\u5217\uff08\u5bb9\u91cf3\uff09\n        \/\/ - \u7b2c6\u30017\u30018\u4e2a\uff1a\u521b\u5efa\u975e\u6838\u5fc3\u7ebf\u7a0b\uff08\u6700\u5927\u52305\uff09\n        \/\/ - \u7b2c9\u300110\u4e2a\uff1a\u961f\u5217\u5df2\u6ee1 + \u7ebf\u7a0b\u5df2\u8fbe\u6700\u5927\u6570 \u2192 \u89e6\u53d1\u62d2\u7edd\u7b56\u7565\n        for (int i = 1; i &lt;= 10; i++) {\n            int taskId = i;\n            pool.execute(() -> {\n                System.out.println(Thread.currentThread().getName() + \" \u6267\u884c\u4efb\u52a1 \" + taskId);\n                try {\n                    Thread.sleep(2000); \/\/ \u6a21\u62df\u8017\u65f6\uff0c\u4fdd\u8bc1\u961f\u5217\u5806\u79ef\n                } catch (InterruptedException e) {\n                    e.printStackTrace();\n                }\n            });\n        }\n\n        \/\/ \u5173\u95ed\u7ebf\u7a0b\u6c60\n        pool.shutdown();\n    }\n\n    \/**\n     * \u81ea\u5b9a\u4e49\u7ebf\u7a0b\u5de5\u5382\uff08\u53c2\u65706\uff09\uff1a\u7ed9\u7ebf\u7a0b\u8d77\u6709\u610f\u4e49\u7684\u540d\u79f0\n     *\/\n    static class CustomThreadFactory implements ThreadFactory {\n        private final AtomicInteger threadNumber = new AtomicInteger(1);\n\n        @Override\n        public Thread newThread(Runnable r) {\n            Thread t = new Thread(r, \"MyPool-Thread-\" + threadNumber.getAndIncrement());\n            t.setDaemon(false);      \/\/ \u975e\u5b88\u62a4\u7ebf\u7a0b\n            t.setPriority(Thread.NORM_PRIORITY);\n            return t;\n        }\n    }\n\n    \/**\n     * \u81ea\u5b9a\u4e49\u62d2\u7edd\u7b56\u7565\uff08\u53c2\u65707\uff09\uff1a\u5f53\u4efb\u52a1\u8fc7\u591a\u65f6\u6253\u5370\u8b66\u544a\uff0c\u9632\u6b62\u9759\u9ed8\u4e22\u5931\n     *\/\n    static class CustomRejectedHandler implements RejectedExecutionHandler {\n        @Override\n        public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {\n            System.out.println(\"\u3010\u62d2\u7edd\u8b66\u544a\u3011\u4efb\u52a1 \" + r.toString() + \" \u88ab\u62d2\u7edd\uff0c\u961f\u5217\u5df2\u6ee1\u4e14\u7ebf\u7a0b\u6570\u5df2\u8fbe\u4e0a\u9650\uff01\");\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u6700\u5927\u5e76\u884c\u6570<\/p>\n\n\n\n<p>\u6700\u5927\u5e76\u884c\u6570\u662f\u6307\u7cfb\u7edf\u5728\u540c\u4e00\u65f6\u523b\u80fd\u771f\u6b63\u540c\u65f6\u8fd0\u884c\u7684\u4efb\u52a1\u6570\u91cf\u4e0a\u9650\uff0c\u7269\u7406\u4e0a\u53d7 CPU \u6838\u5fc3\u6570\uff08<code>Runtime.getRuntime().availableProcessors()<\/code>\uff09\u5236\u7ea6\uff1b\u800c\u7ebf\u7a0b\u6c60\u7684\u00a0<code>maximumPoolSize<\/code>\u00a0\u4ec5\u662f\u903b\u8f91\u4e0a\u7684\u5e76\u53d1\u4e0a\u9650\uff0c\u8d85\u8fc7\u7269\u7406\u6838\u5fc3\u6570\u7684\u7ebf\u7a0b\u53ea\u80fd\u901a\u8fc7\u65f6\u95f4\u7247\u8f6e\u8f6c\u5e76\u53d1\u6267\u884c\uff08\u800c\u975e\u771f\u6b63\u5e76\u884c\uff09\uff0c\u56e0\u6b64\u5bf9\u4e8e CPU \u5bc6\u96c6\u578b\u4efb\u52a1\uff0c\u6700\u5927\u5e76\u884c\u6570\u5efa\u8bae\u8bbe\u7f6e\u4e3a CPU \u6838\u5fc3\u6570\uff0c\u907f\u514d\u9891\u7e41\u4e0a\u4e0b\u6587\u5207\u6362\u5bfc\u81f4\u6027\u80fd\u4e0b\u964d\u3002<\/p>\n\n\n\n<p>\u7ebf\u7a0b\u6c60\u591a\u5927\u5408\u9002\uff1a<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-29-1024x506.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"506\" data-original=\"https:\/\/mofan.help\/wp-content\/uploads\/2026\/07\/image-29-1024x506.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-208\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">\u603b\u7ed3<\/h1>\n\n\n\n<p>\u6839\u636ejava\u57fa\u7840\u8bfe\u7a0b\uff0c\u591a\u7ebf\u7a0b\u548cJUC\u7684\u77e5\u8bc6\u5c31\u5230\u8fd9\u91cc\u4e86\uff0c\u4f46\u662f\u6211\u89c9\u5f97\u5f88\u591a\u4e1c\u897f\u90fd\u6ca1\u6709\u5b66\u5230\uff0c\u6240\u4ee5\u6211\u6253\u7b97\u518d\u53bb\u627e\u4e00\u4efd\u4e13\u95e8\u9488\u5bf9java\u591a\u7ebf\u7a0bJUC\u7684\u5b66\u4e60\u8bfe\u7a0b\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u5b66\u4e60\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u591a\u7ebf\u7a0b\u57fa\u7840 \u4ec0\u4e48\u662f\u591a\u7ebf\u7a0b \u5e76\u53d1\u548c\u5e76\u884c \u591a\u7ebf\u7a0b\u7684\u5b9e\u73b0\u65b9\u5f0f \u7ee7\u627fThread\u7c7b\u7684\u65b9\u5f0f\u884c\u8fdb\u5b9e\u73b0 \u7ee7\u627fThread\u7c7b\u5b9e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-180","post","type-post","status-publish","format-standard","hentry","category-learn"],"_links":{"self":[{"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/posts\/180"}],"collection":[{"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/comments?post=180"}],"version-history":[{"count":5,"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/posts\/180\/revisions"}],"predecessor-version":[{"id":209,"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/posts\/180\/revisions\/209"}],"wp:attachment":[{"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/media?parent=180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/categories?post=180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mofan.help\/index.php\/wp-json\/wp\/v2\/tags?post=180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}