android 多线程概述
android多線程,一直是一個麻煩的事情,要掌握它的本質,我們需要搞清楚一個問題,linux多線程的本質。
我們這篇文章,來討論以下的議程:
了解linux的歷程,了解android的異步任務機制,了解android的多步任務。
說到linux的多線程,我們要比較windows與linux的多線程的模型。
windows線程———線程與進程多對多模型,線程的調度都在核內。
操作系統——操作系統在的視線系統,部分linux的線程是一對一,一對多的模式,線程調度在核外。
這是windows進程,windows進程的模型如下:
??
通過這張圖,我們能夠精確的看到在kernel中,windows已經定義了一些進程管理類和線程的模型,在類庫的層面,你只需要來打通這個線程進程的管道,兒在用戶層我們只需要盡情的使用線程池的線程。
對于linux的線程的知識,我們知道的linux的設計的王道,就是一個簡略既是美的原則,利納科斯沒有考慮多線程的。他的進程,線程的示意圖如下:
?
我們可以看到這個linux沒有所謂的線0程管理,只有一個輕量級的線程管理,所謂輕量級的線程的管理,只不過是為減少進程的間切花,實現線程中資源的共享。linux的進程只能夠在類庫的層面來實現了,因此linux的進程與線程的定義是一對一的作用。
總而言之言而總之,linux的進程是用戶態實現的,windows的進程是內核態的實現的。
對于linux的進程與windows的進程,我們能夠通過一個手中模行來實現,windows就好比,動手指頭是神經系統(內核)控制的,高效,資源開銷少,linux動手指頭是外人(用戶)控制的,低效,資源少。
有了這個分析,預知android的多線程的知識,請聽下回分解。
好好學習,天天向上。
總結
以上是生活随笔為你收集整理的android 多线程概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本地同时修改2个版本
- 下一篇: GC Blocks Lost等待事件