前言

在Java中,線程是一個很關(guān)鍵的名詞,也是很高頻使用的一種資源。那么它的概念是什么呢,是如何定義的,用法又有哪些呢?為何說Android里只有一個主線程呢,什么是工作線程呢。線程又存在并發(fā),并發(fā)機制的原理是什么。這些內(nèi)容有些了解,有些又不是很清楚,所以有必要通過一篇文章的梳理,弄清其中的來龍去脈,為了之后的開發(fā)過程中提供更好的支持。

目錄

  • 線程定義

  • Java線程生命周期

  • 線程用法

  • Android中的線程

  • 工作線程

  • 使用AsyncTask

  • 什么是并發(fā)

  • 并發(fā)機制原理

  • 并發(fā)具體怎么用

線程定義

說到線程,就離不開談到進程了,比如在Android中,一個應(yīng)用程序基本有一個進程,但是一個進程可以有多個線程組成。在應(yīng)用程序中,線程和進程是兩個基本執(zhí)行單元,都是可以處理比較復(fù)雜的操作,比如網(wǎng)絡(luò)請求、I/O讀寫等等,在Java中我們大部分操作的是線程(Thread),當(dāng)然進程也是很重要的。

進程通常有獨立執(zhí)行環(huán)境,有完整的可設(shè)置為私有基本運行資源,比如,每個進程會有自己的內(nèi)存空間。而線程呢,去官網(wǎng)的查了下,原話如下:

Threads are sometimes called "lightweight processes". Both processes and threads provide an execution environment, but creating a new thread requires fewer resources than creating a new process.

網(wǎng)友評論