執行緒介紹及建立方式
執行緒
1 執行緒介紹
思考:什麼是程式?什麼是執行緒?兩者之間什麼關係?
-
程式:就是一個正在執行的程式,比如:typeroa、eclipse、瀏覽器等等
-
執行緒:執行緒是程式中的一個執行單元,例如:QQ音樂播放音樂和下載音樂
-
關係:在一個程式中可以包含多個執行緒
-
當需要在同一個時刻去做多件事情時,就需要開啟多個執行緒
-
關鍵詞:Thread、Runnable
2 執行緒建立方式
-
在java中main函式稱為主執行緒
-
多個執行緒之間的執行是互不影響的
-
兩種執行緒方式如何選擇?
-
選第二個,選擇繼承的話也就意味著該子類不能再繼承其他類,擴充套件性不好
package cn.yunhe.thread;
public class ThreadDemo {
public static void main(String[] args) {
/*SubThread thread = new SubThread();
thread.start();
int a = 1/0;*/
//實現Runnable介面的類目的是為了定義任務
Runnable run = new SubRun();
//此處的Thread物件是用建立並開啟執行緒的,它當中是沒有指定的任務的
Thread thread = new Thread(run);
thread.start();
int a = 1/0;
}
}
class SubRun implements Runnable{
@Override
public void run() {
while(true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("執行緒中的任務");
}
}
}
class SubThread extends Thread{
/**
* run方法用於定義該執行緒要執行的任務
*/
@Override
public void run() {
while(true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("執行緒中的任務");
}
}
}
3 程式擴充套件
- 需求:同一個任務需要多個執行緒執行
package cn.yunhe.thread;
public class ThreadDemo2 {
public static void main(String[] args) {
/*//要執行的任務
PrimeRun primeRun = new PrimeRun();
//需求:同一個任務需要多個執行緒執行
Thread t1 = new Thread(primeRun);
t1.start();
Thread t2 = new Thread(primeRun);
t2.start();*/
PrimeThread primeThread = new PrimeThread();
primeThread.start();
PrimeThread primeThread2 = new PrimeThread();
primeThread2.start();
}
}
class PrimeRun implements Runnable{
@Override
public void run() {
System.out.println("haha");
}
}
class PrimeThread extends Thread{
@Override
public void run() {
System.out.println("hehe");
}
}
相關文章
- 執行緒池介紹執行緒
- jdk建立執行緒的方式JDK執行緒
- 執行緒池建立方式執行緒
- 直播商城原始碼,android執行緒的介紹及兩種啟動方式原始碼Android執行緒
- 多執行緒系列(十七) -執行緒組介紹執行緒
- Java併發(三)----建立執行緒的三種方式及檢視程式執行緒Java執行緒
- 執行緒池的五種狀態及建立執行緒池的幾種方式執行緒
- iOS 多執行緒介紹iOS執行緒
- 建立執行緒的三種方式執行緒
- 【Java】執行緒的建立方式Java執行緒
- 執行緒建立的四種方式執行緒
- Android執行緒池使用介紹Android執行緒
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒
- 執行緒池建立的幾種方式執行緒
- MySQL DDL執行方式-Online DDL介紹MySql
- Java建立多執行緒的四種方式Java執行緒
- java建立執行緒池的幾中方式Java執行緒
- java--執行緒池--建立執行緒池的幾種方式與執行緒池操作詳解Java執行緒
- Java多執行緒傻瓜入門介紹Java執行緒
- 執行緒本地ThreadLocal的介紹與使用!執行緒thread
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 執行緒的建立方式以及synchronize的使用執行緒
- 建立執行緒的方式三:實現Callable介面執行緒
- MySQL執行狀況查詢方式介紹MySql
- java的執行緒、建立執行緒的 3 種方式、靜態代理模式、Lambda表示式簡化執行緒Java執行緒模式
- 工作執行緒的喚醒及建立(19)執行緒
- Java併發 之 執行緒組 ThreadGroup 介紹Java執行緒thread
- python關於執行緒的一點介紹Python執行緒
- 【多執行緒系列】CAS、AQS簡單介紹執行緒AQS
- Java建立多執行緒的幾種方式實現Java執行緒
- 匿名內部類方式實現執行緒的建立執行緒
- Java基礎:執行緒的三種建立方式Java執行緒
- Java 中執行緒池的7種建立方式!Java執行緒
- 認識執行緒、建立執行緒寫法執行緒
- 執行緒池建立執行緒的過程執行緒
- Nexus.js介紹:一個多執行緒的JavaScript執行庫JS執行緒JavaScript
- 【併發技術01】傳統執行緒技術中建立執行緒的兩種方式執行緒
- 達夢資料庫執行緒簡單介紹資料庫執行緒