Java實(shí)現(xiàn)在不同線程中運(yùn)行的代碼實(shí)例
更新時間:2017年04月12日 11:57:02 作者:FrankYou
這篇文章主要介紹了Java實(shí)現(xiàn)在不同線程中運(yùn)行的代碼,結(jié)合具體實(shí)例形式分析了java多線程操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
本文實(shí)例講述了Java實(shí)現(xiàn)在不同線程中運(yùn)行的代碼。分享給大家供大家參考,具體如下:
start()方法開始為一個線程分配CPU時間,這導(dǎo)致對run()方法的調(diào)用。
代碼1
package Threads; /** * Created by Frank */ public class ThreadsDemo1 extends Thread { private String msg; private int count; public ThreadsDemo1(final String msg, int n) { this.msg = msg; count = n; setName(msg + " runner Thread"); } public void run() { while (count-- > 0) { System.out.println(msg); try { Thread.sleep(100); } catch (InterruptedException e) { return; } } System.out.println(msg + " all done."); } public static void main(String[] args) { new ThreadsDemo1("Hello from X", 10).start(); new ThreadsDemo1("Hello from Y", 15).start(); } }
代碼2:
package Threads; /** * Created by Frank */ public class ThreadsDemo2 implements Runnable { private String msg; private Thread t; private int count; public static void main(String[] args) { new ThreadsDemo2("Hello from X", 10); new ThreadsDemo2("Hello from Y", 15); } public ThreadsDemo2(String m, int n) { this.msg = m; count = n; t = new Thread(this); t.setName(msg + "runner Thread"); t.start(); } public void run() { while (count-- > 0) { System.out.println(msg); try { Thread.sleep(100); } catch (InterruptedException e) { return; } } System.out.println(msg + " all done."); } }
代碼3:
package Threads; /** * Created by Frank */ public class ThreadsDemo3 { private int count; public static void main(String[] args) { new ThreadsDemo3("Hello from X", 10); new ThreadsDemo3("Hello from Y", 15); } public ThreadsDemo3(final String msg, int n) { this.count = n; Thread t = new Thread(new Runnable() { public void run() { while (count-- > 0) { System.out.println(msg); try { Thread.sleep(100); } catch (InterruptedException e) { return; } } System.out.println(msg + " all done."); } }); t.setName(msg + " runner Thread"); t.start(); } }
eclipse運(yùn)行結(jié)果如下:
希望本文所述對大家java程序設(shè)計有所幫助。
您可能感興趣的文章:
- java線程池:獲取運(yùn)行線程數(shù)并控制線程啟動速度的方法
- Java并發(fā)編程示例(七):守護(hù)線程的創(chuàng)建和運(yùn)行
- Java實(shí)現(xiàn)終止線程池中正在運(yùn)行的定時任務(wù)
- Java利用future及時獲取多線程運(yùn)行結(jié)果
- java控制線程運(yùn)行
- 創(chuàng)建并運(yùn)行一個java線程方法介紹
- Java實(shí)現(xiàn)的兩個線程同時運(yùn)行案例
- java 實(shí)現(xiàn)線程同步的方式有哪些
- Java多線程的用法詳解
- 15個高級Java多線程面試題及回答
- Java線程協(xié)調(diào)運(yùn)行操作實(shí)例詳解
相關(guān)文章
Spring的嵌套事務(wù)(Propagation.NESTED)到底是個啥案例代碼講解
SavePoint是數(shù)據(jù)庫事務(wù)中的一個概念,?可以將整個事務(wù)切割為不同的小事務(wù),可以選擇將狀態(tài)回滾到某個小事務(wù)發(fā)生時的樣子,本文通過案例代碼講解Spring的嵌套事務(wù)(Propagation.NESTED)到底是個啥,感興趣的朋友跟隨小編一起看看吧2023-01-01基于Spring-AOP實(shí)現(xiàn)自定義分片工具詳解
隨著數(shù)據(jù)量的增長,在與其他系統(tǒng)交互時,批量接口會出現(xiàn)超時現(xiàn)象,發(fā)現(xiàn)原批量接口在實(shí)現(xiàn)時,沒有做分片處理。由于與其他系統(tǒng)交互比較多,一個一個接口去做分片優(yōu)化,改動量較大,所以考慮通過AOP解決此問題,感興趣的可以了解一下2022-11-11spring mvc中的@ModelAttribute注解示例介紹
在Spring mvc中,注解@ModelAttribute是一個非常常用的注解,下面這篇文章主要給大家介紹了關(guān)于spring mvc中@ModelAttribute注解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-09-09