\u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 start(), \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 run() \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435.<\/li><\/ul>\n\n\n\n\u0417\u0430 \u0441\u0447\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 public void run() \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 java.lang.Runnable.<\/p>\n\n\n\n
\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f new thread \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441:<\/p>\n\n\n\n
package ua.com.prologistic;\r\n \r\npublic class HeavyWorkRunnable implements Runnable {\r\n \r\n @Override\r\n public void run() {\r\n System.out.println(\"\u041d\u0430\u0447\u0430\u043b\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435 - \" + Thread.currentThread().getName());\r\n try {\r\n Thread.sleep(1000);\r\n \/\/ \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\r\n doDBProcessing();\r\n } catch (InterruptedException e) {\r\n e.printStackTrace();\r\n }\r\n System.out.println(\"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435 - \" + Thread.currentThread().getName());\r\n }\r\n \r\n \/\/ \u043c\u0435\u0442\u043e\u0434 \u043f\u0441\u0435\u0432\u0434\u043e\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\r\n private void doDBProcessing() throws InterruptedException {\r\n Thread.sleep(5000);\r\n }\r\n \r\n}\r<\/code><\/pre>\n\n\n\n<\/span>\u041d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 Thread<\/span><\/h3>\n\n\n\n\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434 run(), \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0431\u0435\u0433\u043d\u0443\u0442\u044c \u0443 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e java.lang.Thread. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n\n\n\n
package ua.com.prologistic;\r\n \r\npublic class MyThread extends Thread {\r\n \r\n public MyThread(String name) {\r\n super(name);\r\n }\r\n \r\n @Override\r\n public void run() {\r\n System.out.println(\"\u041d\u0430\u0447\u0430\u043b\u043e \" + Thread.currentThread().getName());\r\n try {\r\n Thread.sleep(1000);\r\n \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\r\n doDBProcessing();\r\n } catch (InterruptedException e) {\r\n e.printStackTrace();\r\n }\r\n System.out.println(\"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0430 \" + Thread.currentThread().getName());\r\n }\r\n \/\/ \u043c\u0435\u0442\u043e\u0434 \u043f\u0441\u0435\u0432\u0434\u043e\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\r\n private void doDBProcessing() throws InterruptedException {\r\n Thread.sleep(5000);\r\n }\r\n \r\n}<\/code><\/pre>\n\n\n\n\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u0441\u0442\u043e\u0438\u0442 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/p>\n\n\n\n
package ua.com.prologistic;\r\n \r\npublic class ThreadRunExample {\r\n \r\n public static void main(String[] args){\r\n Thread t1 = new Thread(new HeavyWorkRunnable(), \"t1\");\r\n Thread t2 = new Thread(new HeavyWorkRunnable(), \"t2\");\r\n System.out.println(\"\u0421\u0442\u0430\u0440\u0442\u0443\u0435\u043c runnable \u043f\u043e\u0442\u043e\u043a\u0438\");\r\n t1.start();\r\n t2.start();\r\n System.out.println(\"Runnable \u043f\u043e\u0442\u043e\u043a\u0438 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435\");\r\n Thread t3 = new MyThread(\"t3\");\r\n Thread t4 = new MyThread(\"t4\");\r\n System.out.println(\"\u0421\u0442\u0430\u0440\u0442\u0443\u0435\u043c \u043d\u0430\u0448\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438\");\r\n t3.start();\r\n t4.start();\r\n System.out.println(\"\u041a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435\");\r\n \r\n }\r\n}<\/code><\/pre>\n\n\n\n<\/span>\u041c\u0435\u0442\u043e\u0434\u044b Thread<\/span><\/h3>\n\n\n\n\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u00ab\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c\u00bb, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b. \u0414\u0430\u043b\u0435\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0430\u043c\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435.<\/p>\n\n\n\n
<\/span>\u041c\u0435\u0442\u043e\u0434 Run<\/span><\/h3>\n\n\n\n\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n\n\n\n
- \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b;<\/li>
- \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f;<\/li>
- \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0438\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/li><\/ul>\n\n\n\n
\u041c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f. Shutdownhook \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043a\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0434\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b JVM.<\/p>\n\n\n\n
<\/span>\u041c\u0435\u0442\u043e\u0434 AddShutdownHook<\/span><\/h3>\n\n\n\n\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445. \u0418\u043c\u0435\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043a\u043b\u0430\u0441\u0441\u0443 Runtime<\/p>\n\n\n\n
<\/span>\u041c\u0435\u0442\u043e\u0434 Flush<\/span><\/h3>\n\n\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f threads, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u0423 \u043a\u043b\u0430\u0441\u0441\u0430 Writer \u0435\u0441\u0442\u044c Flush (). \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430. \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442.<\/p>\n\n\n\n
\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0441\u0442\u043e\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n\n\n\n
- \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441: public void flush();<\/li>
- \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u2013 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442;<\/li>
- \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u2013 \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f;<\/li>
- \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2013 \u043d\u0435\u0442.<\/li><\/ul>\n\n\n\n
\u0427\u0442\u043e\u0431\u044b \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f flushing, \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440.<\/p>\n\n\n\n
<\/span>\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f Flush<\/span><\/h4>\n\n\n\n\u0412\u043e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n
\/\/ Java-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438\r\n\/\/ \u041f\u0438\u0448\u0443\u0449\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 flush ()\r\n \r\nimport java.io.*;\r\n \r\nclass GFG {\r\n public static void main(String[] args)\r\n {\r\n \r\n \/\/ \u0421\u0442\u0440\u043e\u0447\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u0435\r\n String str = \"GeeksForGeeks\";\r\n \r\n try {\r\n \r\n \/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 Writer\r\n Writer writer\r\n = new PrintWriter(System.out);\r\n \r\n \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432\u044b\u0448\u0435 \u0430\u0432\u0442\u043e\u0440\u0443\r\n \/\/ \u041f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f\r\n \/\/ \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043e \u043d\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u0438\r\n writer.write(str);\r\n \r\n \/\/ \u041e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0442\u043a\u0438 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f\r\n \/\/ \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 flush ()\r\n writer.flush();\r\n }\r\n catch (Exception e) {\r\n System.out.println(e);\r\n }\r\n }\r\n}<\/code><\/pre>\n\n\n\n\u041d\u0430 \u044d\u043a\u0440\u0430\u043d \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043e: GeegForGeeks.<\/p>\n\n\n\n