對於一個系統來說,如果要提高處理效率的話,除了優化代碼,提高IO,網絡等外,採用多任務並行執行是必須的。其次、要提高計算機的利用率,比如cpu的使用率,就需要採用多任務並行執行。
對於java的線程,對於我而言只有Thread,Runnable一種,但是進一步來分的話,我認爲有三種:
第一種是Thread,Runnable
第二種是線程池
第三種是Timer,TimeTask
採用線程來處理任務,會造成一些問題,比如數據不安全問題,部分線程的順序執行的問題,打印處理的數據錯亂的問題等等。
在這裏是簡單簡介Thread和Runnable,也就是第一種線程的方式
Thread是線程的一個類,可以直接進行實例化,而Runnable只是一個接口,如果要使用Runnable,就需要實現run()的方法。
Thread一般常用的方法:
start(),開始線程
join(),等待線程結束
getState()獲取線程的狀態,NEW表示Thread已經實例化了,但是還沒有啓動線程,也就是start()沒有調用。RUNNABLE表示Thread已經調用start但是線程還沒有結束。TERMINATED表示線程已經完成退出了。
interrupt()終止線程。
實現的代碼:
Thread thread1 = new Thread(new Runnable() {br/>@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("線程!");
}
});
thread1.start();
這裏的Runnable是實現匿名的使用,這種使用也是很常見的使用方式。
Java線程1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Java项目面试实操 提升大厂面试成功率
wy53780
2020-04-23 14:14:04
玩转算法系列--图论精讲 面试升职必备(Java版)
wy53780
2020-04-23 14:03:23
玩转Java并发工具,精通JUC,成为并发多面手
wy53780
2020-04-23 13:56:08
线程八大核心+Java并发底层原理精讲(Java并发核心知识体系精讲)
wy53780
2020-04-23 13:55:55
Java通用型支付+电商平台双系统实战
wy53780
2020-04-23 13:54:42
【躍遷之路】【734天】程序員高效學習方法論探索系列(實驗階段491-2019.2.24)
Wall_Breaker
2019-02-24 23:25:10
Java是怎麼運行的?
勤思
2019-02-24 22:52:36
sql語法、關係建模
死瘦宅
2019-02-24 22:35:22
MySQL 事務、函數、觸發器、數據庫備份、權限管理
死瘦宅
2019-02-24 22:35:12
Python與家國天下
豌豆花下貓
2019-02-24 22:22:40
Java面試 | 002
Java貓說
2019-02-24 21:05:12
《從0到1學習Flink》—— Flink 讀取 Kafka 數據批量寫入到 MySQL
zhisheng
2019-02-24 21:04:11
Redis | 001能做什麼?
Java貓說
2019-02-24 21:03:51
java中具有繼承關係的類及其對象初始化順序
Linus脫襪子
2019-02-24 19:55:05