-
Notifications
You must be signed in to change notification settings - Fork 0
/
Java并发组件.html
11 lines (11 loc) · 24.1 KB
/
Java并发组件.html
1
2
3
4
5
6
7
8
9
10
11
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]-->
<!DOCTYPE html>
<html>
<head>
<title>并发</title>
<meta charset="utf-8"/>
</head>
<body><div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{"highlight":"#0000ff","lightbox":false,"nav":true,"resize":true,"page":0,"toolbar":"pages zoom layers","xml":"<mxfile host=\"Electron\" modified=\"2020-05-09T14:05:08.232Z\" agent=\"5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.0.3 Chrome/80.0.3987.163 Electron/8.2.1 Safari/537.36\" etag=\"V-Blk1Ly1R3mjS0bdyxj\" version=\"13.0.3\" type=\"device\" pages=\"5\"><diagram id=\"CKb7Q1mrbO_wKoowDbEo\" name=\"ReentrantLock\">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</diagram><diagram id=\"i5une7Q53fFij-8_4wqB\" name=\"Condition\">7Zxbk5s4Fsc/DVWzD3FxRzyCL0lmZnNpT+0k+7KFjewmjcEB3O2eTz/nCImLkd3uiS/Uxl2pNBIgQDr66a9zpFaM4Wr7NgvW9/9OQxoruhpuFWOk6LqmGxb8wpxnnmOaapmzzKKQ59UZ0+gvyjPFZZsopHnrwiJN4yJatzPnaZLQedHKC7IsfWpftkjj9lPXwZJ2MqbzIO7m/hmFxX2ZSyy1zn9Ho+W9eLKm8jOrQFzMM/L7IEyfGlnGWDGGWZoW5dFqO6Qx1p6ol2n8/Fua5eHnbO6R/1iGMVu9e1MWNnnNLdUnZDQp/nHRqeGrkzz8or2Zfl7E/mg0fvf9jc0/rXgW9UVDqD6eTLPiPl2mSRCP61x/vskeKRaqQSJLN0nIUiqk6ht+T9M1v+QbLYpnbhjBpkgh675YxfxsVat4fxzMaOwH84clK3eYxmkGp5I0wQfTJPTQIiBnFqfzhzJrEsUxvx1S/DkESy6y9KFqdHzWIk2KSbCKYjTmT1GynATJEj5/OuQn+d2aCekjK503Tp5usjk9UNPciIogW9LiwHVOeR02Q8OAeZO+pemKFtkzXJDROCiix7aVB7yzLKvrqls/pRF8h67ynq2b6sAob+I92xKGLwopX5XfVxsWHDRepM5i5vYK0+NPewziDf8IQEAYFVGaDIKnICp++VfHOGtrw+Z8uo8KOl0HrN6fgF9ty9pt0GUc5Dm3lK5ttOxwATYljE/RjQWZ0/m8uq1xZkYs01JfMq3XmdIjzQq6Pdj44izZbUTD5tX6VLNOEwC7b3DOVPdbTKulX9us1tWJApWcPX+pkACJr5gYWCI52jZPjp6FTTQtIAzy++qV+oQluo2KL/X3QOqr+G44rj8NE+LLTowyMYy/hDL11Cj7IcMUvavmjfd5Okjo01BgB4Fjx/BF/iyDo2XBqq6TM7YVd6R4mjI2Fd9XfFsZu4pLFHeijC2FwIHT7QNxDIKHvgytIF+XKmgRbdH+dlEUWpSEpgxFRJ8Ztn3eUe4INAmd6EpAZEpApJ2NRGZ/SFQl/p9IdGKqGEdSResVVYwOVSqcfJx9w64MBazWMV1BLeWQqE53yQI8YgSxFWIhU4iheARzvLHijpWxo5Cx4quMOx5c1igKXl5FMBFf8SxGqKFCXMXwuk/5AHM8nEhFWV78CTKLZnuvAcG095JO5wKjXeNhmM43K2YSL7FuVvav32dxp8NpMsKFjjtTZfJsQW0mz65LPnFWkI+TUNesDgl1W0JC91wg1LpD39XR+LNM+5xjqXY1saSl/12pH43R1/fk7tP017fBcNEHv0Ctc52m0K20rVTo/sRWFT34/t128q5Ql4//uzO/frubeKcfK+XOBMu12rPQXU13ZleC0+FbggMYmFUYVoNkOZD1x6kQBpQspE4Fe07obHE1p4LmDtR2e1Y+3+YQZuoDqzuIWWcbxLpK6+qM+llwox3rvNT0XolzretjXGzi+PmOxjTI6S9ICdmcf0yY0nZQe/tjnM/jwUhxDabPQZmPUI27IMLNvAgKKgQ4KHSTOQQsBdQclIH3wYFdXgXnoRRQ86jgCYh4VfZwfo67F0ip9110LMB7eaDxNTzwJ4rrotKHQso3hXx4I3y0pnhQ6ZMb6V5NOsvoAemsG+muRjr9WNKZ/SKd3rGZKprC3AFAjgkDyVBAwmAUs5A0rgnCjGbZZl1UXLvB4zA8XHdgO27jp8URW5dwhGgD/aIg6eriG0guBRLzWJDY/QKJKbEZrlFqiWIpnilEkKl4JJh/30QZ/byhGxrWYRR4g9lu2MRi4sVk0RJ24BlMF/lMXYGA0lHsCApBezwwWukKGTKR4zBpJAIuN0gdhJTjDlx3L6QcrQspQ1cHtn4eSEk9TdeP0vw0SLK7SJI2iXVqIh1YgqJZavXTluLursmd2YkkqqdJPgSdjUhCeI0xqFLOzogIwri+DF4E518e4ySBaZqNt8OsEGdwPHTDZmeqmMeROmIjKZ/gHBQjQlCap3hs0sfVm8lmpcMbBl/WaqRBQdIyNKL2QKuJ7nPj4Nk5qB/rzRJy+dwgdAyrGnOFx/XC8NMPrcbLoyXYUX88531djmc7nXY0rGuvx9Nlgv5GmsuQ5lhvkm70ahIo3ntnrVyYTntGgr4KDgkJTIln+cIkkAjcGwkuRIJjV7fpJ598/ZjNdKOuNxL8IAksidvlwiQgt46/r+PXuwcGJtlZt0twSeXBlbss9YlmETQUzZSzLL8XiHhx9c+Fpi+Wag2I1phem21zd9SBulPo6WYzUgdWV77c7P1SA53EOKVt1K9l3Lok5o5rK0YY6ODhDrMdSK28dJDDIhJAizKiSsbo4ZN46bprPfjyEMkOkioOCwfeEP9JHlp5DeGA3Sh1RuKakyErh53tvEaRBUm+oNkkzfiwzhfG3Ib2g0O7YQy09tBuy1yJqsyPaP24IUu7lXF10p1k00ufCNnagPPPcXmIgj1ebnLotXdCJcAi3K/CUOaXUWKNbVzpwq0k2Eism2NxkhbQqvV2LN7rTxi+CO5vwV0uYwwIl6XhfhgXo9CAX+lePb5cr1r6woMzmwRjyziBqfbOVBf68ASxBbl6VSS8gxEYfEkTYzI3Ph7mo97eCOOozkCyFcZQK4pehJCykb4aNdkaBbTUPXs8m2bdk+bvqzecbU4/EN69pD/s0OYIyUqXfB0krba1v2/wr3ywinyz4DXpITd0O1itWS0aBrbjGmp3UdZuPu+cxTvY/6ygnLU/FqOZ6239lKY8RF6WOtEXa4JbGhAXFm/yatHw8OOH0fs/3n/80NKPO5KwXp1Tfmh3p/P1P71/LcGFuoWheN+uRwEx8DU2S9Z1X60DdxlPdNkQ5WAL+6Qx5pWLBMZsBjLBoVG0dr3js9weCtcfnpPsbkvf0/I7JIMeXuxMX1ts4TKsCSKeFcQwgYDknCbM/+EjL6J5EHv8xCoKQyY6ZXxsa889wDmWVXvBZO6MSxV1WqOSRLTbJxiSDjlq+kyiasNBqYKGYs7YsD/eRdjWqyZ9QDKV/QVsE/culB3H7W6CuAHpFQ2yu9WEJt/FtL0UtKyOXdEuvtZtKZm3oEE14JxnsT3pVWMeIe1viGGaRe3E/xwJZXRzoBEJaF4veSBZ/yWy0o9a/0E3Y/w3</diagram><diagram id=\"C5RBs43oDa-KdzZeNtuy\" name=\"CountDownLatch\">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</diagram><diagram id=\"YvjvBAuJSxYmhv20wl2V\" name=\"CyclicBarrier\">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</diagram><diagram id=\"UIerJw0MO7x9cACa9iYv\" name=\"Semaphore\">7V1bc6M4Fv4t+0BV+iEurkJ6BMfumdlL9W6maqYfscE228RkMOkk++tXN0AgYWMDttPtfpgxMshCOpfvfOdI0azp09vnLHje/DMNo0Qz9fBNsx4004Suif9LGt5Zg6EbgLWsszjkbVXDY/y/qLiRt77EYbSr3ZinaZLHz/XGZbrdRsu81hZkWfpav22VJvVffQ7WkdTwuAwSufWPOMw3/L0cvWr/JYrXm+KXDZ1/8xQUN/OG3SYI01ehyZpp1jRL05x9enqbRgmZvGJe0uf5mz/7+8pLFr86KPlt8f7b53vW2fyYR8pXyKJtfnLXUx+k969ft+v5au0gtH79c7Xjj+jfg+SFzxd/1/y9mMAsfdmGEelE1yx/kz8l+KOBP/43yvN3vuDBS57ipjTLN+k63QbJP9L0md+3Src5v82w8XW0DT2ysPh6kaTLb6xpHicJ/w18xe+H+GqXZ+m3cu1Ih+VCkJuTYBElfrD8tqYDnaZJmuGvtuk2Il2FWBj4u1SDm1WtfvQW53+SviYOv/rKf4Z8fngrxkQu3vkFeaN58BQnpOFLjKc02K7xrD1O8ZfLl+w7nS7SB5tNMoqGNB5YSn7fLn3JltGe9bMsrlJBto7yPTc6pcBiTY/SpyjP3vFzWZQEefy9PrqAq9y6vK989Esa43GbOjcPRiEv3DqUWl90wcbFnxKF80BHsNEPmwipH/xBeJ2qiYr+EWpgSGrwFduspiYcFqa6rii1QaE1gk4dI9p91QhLYPYuiD65/Fo+iy8q4adXovSL+nxF2tBRGdxxlMGoy7Btd1OGoYRYNt2HBba2PB9KevdKXVNEr0XwnHHMsOWgiVOTPaNpQEeWPUsyoLi//0RJFOyixw2e5vDO+CRDi036tHjBI/RfN3EePT4HdJZfMRLdI1hHrXyQxOstvljihY4yNZzAP4t7wVeguvqdivw9tW9YKAvp1UxrtVqZy2XZk/BNCBbAAaW4fY+yPHo7QeBk+eC92M1lLv3kawVtDZvfsxFgreu0y1RNFo5dePsSXvJUz3Vu+3SdXtLpaKysnraql1w5kkHx/v04yQ5alFK0jMNWpaHYYRDBlVKxwRJGi9WxizqWFXDqMMNwbYUN0GUb0IQjg60VuCHlj4aU3a424DxxI3DPC1dcybpoJkhy5v63NVkGf70Qgoeu3f2OLqaHbzDs5ze6TsX3+NOa/n/maHCueZ42g5oHNGjs8iCPyBV0abOjeaaGZtoMfwk1pNMnPA3NtZmt+Z4GQTEY/G5sPLxr3rzI+o1wyFf1dc036BvMNB+3IPKW+G3wyyH8NjPSgiD9Cr+3Qd+btpDXdegEuK2v28u4N3RvnQS7XYED9lNKp/mFs/sB226gQduFsidwFGjQASN5AngLQdsCkTYfUvqXFh8yticoGLvDrgCN4gocBBti7JzXFyCFL7gJ8WV4lM7CyKi2SwUnhpw2IdEJdlzBE3FD28WO/C9Y/vUSZzxa+ZXwD9nLcx4vkve7vpHLD+/cLIAmNqoHOjaQ3JtpqQKdsdybIecJbrbiYrbC7Oq4WiStL+mKnIbjsqySnzuT7yrmQBRIjKqRr3k6jSYgCSgIFsexyLxmgjQT/6ROgxCM2dnd+DGHwvMpbeHxC7nHs2gL0HyM2f246AgLLu/DIz9KAL1LfxEHBrgPOhgyBhkX3sxd3dzBJpgXyF7R3ulntXcyrX+CvftQJu5Uqqdm1E+gCUe0k3ZXTAXGsZPAmuigJtsQnBfiF1MgyHGYeu3orC+xvMe4tJijqyCWTQQmTn2lHEsml01DQSlYY5HLhpwJGJqrg5BTUb5eUXAzl/hDyFgq6sVwC8Jf2QKVBwh7BUXHV3Bb+J1l5qsjz3WDkAVnckJt1ujmFHSFneOYUxvACdRR9a8OG2DHCqzBTCuQ1HObhhGBheRCD8LwjwAby4yEvMPQ10zrPJMoJNZGH1BNszlSxdiVc++m5qkIaY57EYGnGNYShUfcBHAyWwbAsiazTvY8Qq0Gh9PMIvyMHgUYTd8PDAWqhUCBakfzKHL257Rqv5/NCgs2uLLIl7HCVmcrDPcK6L0+0fVG3V4Z9vQFvnqzXMdFp5bHGnVUVu8lXa120f4OTKlCDFqNXsYusYWS1v0rvUQ0eWrB99UEdJ1lX9ilMCgCcawJcqzyX0OumrHd2HKlyN9U3t8hTt+zqbvHAICxYzpJVssgvt1B95Q04wjDWfIPJRkhPLWHfwiD3ab0RUe6rquSbrNzPrIFX4uWvRjdqRLfbmEHK9pW7MAhKBNQ9hQQrImRJYe8jIG1NIz5ifjONN+lGHRGvi1A8B2rNylyUSzixELySUK+regVL+a3vimqD4pYHeK0deFfHb0ioCi2Q2BSQIizAFhzkDTUjwtYz1pJV8z9YW/ct5Sun8woMkVD0mhNg9Wh6ovlp+CDkKjCNg6RD6Z+t4mC8G94OHkQJ58+TEEcJRPYS3LbynNv1LbONd8uCAdGGiL6/pS1wJ9nlEP053QiIL2Hpuc8lz5uaHAavAZxTp8ApJvKHziU+YCns44/g3WvB3quwpibqsrpZkXScFqpSLBxxuqB0lsmXWShzJIvMmOpZ5ylRpZwcwfsOxQRZ5MsL/J47pgMpynbBEkIxDkdv68L8kvHT+SbfXiQJf7m2tpcWx3zl4nL4wIHdZBiXpbeMbvuUWkLcYUgwDHtmtYXiLtvCXv9gQ4cjI3M5i49vSMhNFi0IW/XGnAz1nGCd7U6ptYI94NohGVeFGYqsrXc7dAoFoewLGbFlh5BwaHR5Cukfox4LYpjSNER3SaBvQcBThQmseoikqwFg8G/nxEJNUwRcjpiIcMcDQy5J7j6YXMwH2Vj6dUUYZqwo1ky+nLR/URLTj40i7V30VPwvEmzaMLLtu8+9bYNw9UtruAyUm86X0DHdg5uix/LjNiG0SzTdlRb0uFEN2RbUhQXDb/eclKAJJsGZQvC+LuyHzzD+T0/doB0VJ48oJHTq4YjEvi2QhZ6PdSqfbFzZfwu1EmEVlb6cg65pHv3UAX07Q76xx8tvDrV/henTCTRiszYkW7rlDzR2Ia9rWi+CqxMHTbz5k7PdAvv3AW6FCiZDVPRNXMOrGbi22521ZKgPGcWyJKzQLQkZSCeptyRXBKN2Ko8UNpIxOYPtF6J3oxgwUMxE+RqvimURJYgnVY5QVRsI3joVjx1YZR3vebnCusdreLQxoMIz95rMfSJDhrFxeU+uutNzzpyeWM9WyBkQBoRLSsAnFL1QYSlJ1+ZVNewRjzQnIh8D/XihLR1CQdKFArfMKM3uzTjqw9XRTxOgcNeab1a1bsaNXIOF6y5ANa9IxjG7UrHS1nGsV73DK5SlfweKH+HR1bbFUI3ggwaNDSVlnhSn24uKD1ymdpp7rqj7tsvmDBA8yg8o6Mo+cAaoqg5vh24duS2PDDRGzphqytAoCvHt+VZwoMHuJYinU8Ql0sDP+xfEM/8qevWT8i63YiPmmQAKB25WMYoFzuIy1Lt12yjufhZajeaq5MdmLjqQ0rEtQbuRLEzbrzVPuXsxRtfflkY2DmxfdE0niWn8cKUH+ca7hg2GhoataK3RSka90smG6S/bL24M8nhVsSjlR8cg5mzI5hWSAqusL/koZenLq4iBArlXqFFgFpV+lKU2xST0ZuqwX4bMRZ3SlyxnBmtoOTiELy8ErN+tacuNHlG1eY0A1rnNOoy4TBiVHKLMS4fYzgkF18nxlzVsc6uAkmOdqyzdUW5+CN3wlzVbhara36890Gr/ZZbmR8f9kDUuXDEkHRcAi8KR0KKomRCS79M8xDkcZtyJdMB8yP4d3xbrqb9PNRv7KL8lygIvW34JUufgzU2pXftVe03r73PYJpS6O26xsRUeO6CJxVNZlWEObwWqY6SZEtMJmpclHxUacGcIkuql74rZPrKGgNWVaALpyOMVXy3bzhC3TirZGDslAf5SGGRQiH1EZQ39Rigd+hTgLQgXehHtb8COUJSZcS3kTbkCUGEvFtGGulQA4RkKuG0lqhqJJi4xX1gIVVVZ1Ju1mGDls+Zk19DrDlBxVnXc54oI3HNvKAky3GJMkgbOUdu88lFjK2c0twy/+nB1m//PiPczBS5xVCT0h9tT3UopzREO8ubJERLzGa8DBKPf/EUhyEFWSrzX8daV1FfCqTDDxSMWVmLX8O0YxWFOaraZEBEjZk+Gm9zVpSqLYv092RomAiDrlUUENsnUgZXcPCt/cqHqJenUpVKIaCigwbwJqetcmogicc3FDR+UR19llPUHQUa31MzYOp4cVZBnP3eJApO4Qk67O6kHuEeRzS1/V7F1rIaP1DteiwdNjuiiRn6Qlca9UVqV8n+MoKoPLRb3KfnFDSezd2SeEQTHpgH6hFGjeEoiI3+MzXQbMt1I00HLReFln9UgpuZ2kF22Cbxoq8Z6VyxaVDigW4mo921GdKf4VKYDOXJ1NWRwUcYDXxZ/ZFZVkZR/alea/Z/</diagram></mxfile>"}"></div>
<script type="text/javascript" src="https://app.diagrams.net/js/viewer.min.js"></script>
</body>
</html>