{"id":7542,"date":"2011-08-01T21:00:56","date_gmt":"2011-08-01T12:00:56","guid":{"rendered":"http:\/\/www.sssg.org\/blogs\/hiro345\/?p=7542"},"modified":"2011-08-03T08:21:08","modified_gmt":"2011-08-02T23:21:08","slug":"java-timeunit%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9","status":"publish","type":"post","link":"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/7542.html","title":{"rendered":"Java TimeUnit\u306e\u4f7f\u3044\u65b9"},"content":{"rendered":"<p>Java5\u304b\u3089\u30ca\u30ce\u79d2\u306esleep\u3068\u304b\u3082\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u3002Thread.sleep()\u3067\u3082\u3067\u304d\u308b\u304c\u3001TimeUnit\u3068\u3044\u3046enum\u30af\u30e9\u30b9\u3082\u3042\u308b\u306e\u3067\u3001\u305d\u3061\u3089\u3092\u4f7f\u3063\u3066\u307f\u308b\u3002<\/p>\n<p><!--more-->\u6b21\u306e\u4f8b\u306f1\u79d2\u306e\u4f11\u6b62\u3092\u6307\u5b9a\u7cbe\u5ea6\u3092\u5909\u66f4\u3057\u3066TimeUnit\u3067\u5b9f\u88c5\u3057\u3066\u3044\u308b\u3002\u4f11\u6b62\u6642\u9593\u306e\u8a08\u6e2c\u306b\u306fSystem.currentTimeMillis()\u3068System.nanoTime()\u3092\u4f7f\u3063\u3066\u3044\u308b\u3002<\/p>\n<pre class=\"brush: java; gutter: true\">\r\npackage&nbsp;org.sssg.soft.sample.timer&#x3b;\r\n\r\nimport&nbsp;java.util.ArrayList&#x3b;\r\nimport&nbsp;java.util.List&#x3b;\r\nimport&nbsp;java.util.concurrent.TimeUnit&#x3b;\r\n\r\npublic&nbsp;class&nbsp;SimpleSleep&nbsp;{\r\n&nbsp;&nbsp;public&nbsp;void&nbsp;getTimeMillis(Runnable&nbsp;r)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;start&nbsp;=&nbsp;System.currentTimeMillis()&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;r.run()&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;end&nbsp;=&nbsp;System.currentTimeMillis()&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;TimeMillis&nbsp;Sleep&nbsp;&quot;&nbsp;+&nbsp;(end&nbsp;&#x2d;&nbsp;start)&nbsp;+&nbsp;&quot;&nbsp;ms&quot;)&#x3b;\r\n&nbsp;&nbsp;}\r\n&nbsp;&nbsp;public&nbsp;void&nbsp;getNanoTime(Runnable&nbsp;r)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;start&nbsp;=&nbsp;System.nanoTime()&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;r.run()&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;end&nbsp;=&nbsp;System.nanoTime()&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;NanoTime&nbsp;Sleep&nbsp;&quot;&nbsp;+&nbsp;(end&nbsp;&#x2d;&nbsp;start)&nbsp;+&nbsp;&quot;&nbsp;ns&quot;)&#x3b;\r\n&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;List&lt;Runnable&gt;&nbsp;list&nbsp;=&nbsp;new&nbsp;ArrayList&lt;Runnable&gt;()&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;list.add(new&nbsp;Runnable()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#x40;Override\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;run()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;TimeUnit.SECONDS&nbsp;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&nbsp;&quot;)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TimeUnit.SECONDS.sleep(1L)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(InterruptedException&nbsp;ex)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;})&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;list.add(new&nbsp;Runnable()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#x40;Override\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;run()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;TimeUnit.MILLISECONDS&nbsp;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&nbsp;&quot;)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TimeUnit.MILLISECONDS.sleep(1000L)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(InterruptedException&nbsp;ex)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;})&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;list.add(new&nbsp;Runnable()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#x40;Override\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;run()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;TimeUnit.MICROSECONDS&nbsp;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&nbsp;&quot;)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TimeUnit.MICROSECONDS.sleep(1000000L)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(InterruptedException&nbsp;ex)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;})&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;list.add(new&nbsp;Runnable()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#x40;Override\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;run()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;TimeUnit.NANOSECONDS&nbsp;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&#x2d;&nbsp;&quot;)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TimeUnit.NANOSECONDS.sleep(1000000000L)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(InterruptedException&nbsp;ex)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;})&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;SimpleSleep&nbsp;app&nbsp;=&nbsp;new&nbsp;SimpleSleep()&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(Runnable&nbsp;r&nbsp;&#x3a;&nbsp;list)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;app.getTimeMillis(r)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;app.getNanoTime(r)&#x3b;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;}\r\n}\r\n<\/pre>\n<p>\u3061\u306a\u307f\u306b\u3001Object.wait()\u3067\u30df\u30ea\u79d2\u3084\u30ca\u30ce\u79d2\u3092\u6307\u5b9a\u3059\u308b\u3068\u304d\u306b\u306f\u3001TimeUnit.timedWait()\u3092\u4f7f\u3046\u3068\u4fbf\u5229\u3067\u3042\u308b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java5\u304b\u3089\u30ca\u30ce\u79d2\u306esleep\u3068\u304b\u3082\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u3002Thread.sleep()\u3067\u3082\u3067\u304d\u308b\u304c\u3001TimeUnit\u3068\u3044\u3046enum\u30af\u30e9\u30b9\u3082\u3042\u308b\u306e\u3067\u3001\u305d\u3061\u3089\u3092\u4f7f\u3063\u3066\u307f\u308b\u3002<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[1207,548],"class_list":["post-7542","post","type-post","status-publish","format-standard","hentry","category-java","tag-java","tag-timeunit"],"_links":{"self":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/7542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/comments?post=7542"}],"version-history":[{"count":1,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/7542\/revisions"}],"predecessor-version":[{"id":7543,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/7542\/revisions\/7543"}],"wp:attachment":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/media?parent=7542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/categories?post=7542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/tags?post=7542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}