執行緒介紹及建立方式
執行緒
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");
}
}
相關文章
- 執行緒併發執行緒安全介紹及java.util.concurrent包下類介紹執行緒Java
- 執行緒的建立及執行緒池執行緒
- 執行緒池介紹執行緒
- IOS執行緒介紹iOS執行緒
- 多執行緒系列(十七) -執行緒組介紹執行緒
- 執行緒池的五種狀態及建立執行緒池的幾種方式執行緒
- Java併發(三)----建立執行緒的三種方式及檢視程式執行緒Java執行緒
- iOS 多執行緒介紹iOS執行緒
- 直播商城原始碼,android執行緒的介紹及兩種啟動方式原始碼Android執行緒
- 執行緒池的介紹及簡單實現執行緒
- 建立執行緒的三種方式執行緒
- 【Java】執行緒的建立方式Java執行緒
- 執行緒建立的四種方式執行緒
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒
- java執行緒建立的兩種方式Java執行緒
- Android執行緒池使用介紹Android執行緒
- Java 執行緒池詳細介紹Java執行緒
- Java建立多執行緒的四種方式Java執行緒
- java--執行緒池--建立執行緒池的幾種方式與執行緒池操作詳解Java執行緒
- Java多執行緒傻瓜入門介紹Java執行緒
- MySQL Replication的複製執行緒介紹MySql執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 執行緒的建立方式以及synchronize的使用執行緒
- MySQL執行狀況查詢方式介紹MySql
- java的執行緒、建立執行緒的 3 種方式、靜態代理模式、Lambda表示式簡化執行緒Java執行緒模式
- 工作執行緒的喚醒及建立(19)執行緒
- 執行緒同步及執行緒鎖執行緒
- 【多執行緒系列】CAS、AQS簡單介紹執行緒AQS
- 執行緒本地ThreadLocal的介紹與使用!執行緒thread
- Java多執行緒之synchronized的小介紹Java執行緒synchronized
- 匿名內部類方式實現執行緒的建立執行緒
- Java建立多執行緒的幾種方式實現Java執行緒
- 建立執行緒的方式三:實現Callable介面執行緒
- Java 中執行緒池的7種建立方式!Java執行緒
- MySQL DDL執行方式-Online DDL介紹MySql
- 執行緒池建立執行緒的過程執行緒
- 認識執行緒、建立執行緒寫法執行緒
- 多執行緒-多執行緒兩種方式的圖解比較及區別執行緒圖解