原创 Java線程:新特徵-信號量

Java的信號量實際上是一個功能完畢的計數器,對控制一定資源的消費與回收有着很重要的意義,信號量常常用於多線程的代碼中,並能監控有多少數目的線程等待獲取資源,並且通過信號量可以得知可用資源的數目等等,這裏總是在強調“數目”二字,但

原创 Android和Java各種線程的區別和認識

線程是程序中一個單一的順序控制流程。進程內一個相對獨立的、可調度的執行單元,是系統獨立調度和分派CPU的基本單位指運行中的程序的調度單位。在單個程序中同時運行多個線程完成不同的工作,稱爲多線程。 那麼線程有哪幾種呢? 我整理出來

原创 GSON轉換報錯

關於GSON轉換時的JsonSyntaxException錯誤 com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGI

原创 Java線程:線程的調度-讓步

Java線程:線程的調度-讓步 線程的讓步含義就是使當前運行着線程讓出CPU資源,但是然給誰不知道,僅僅是讓出,線程狀態回到可運行狀態。 線程的讓步使用Thread.yield()方法,yield() 爲靜態方法,功能是暫停當前正

原创 Java線程:創建與啓動

一、定義線程 1、擴展java.lang.Thread類。 此類中有個run()方法,應該注意其用法: public void run() 如果該線程是使用獨立的 Runnable 運行對象構造的,則調用該 Runnable

原创 Java線程:線程的同步-同步方法

Java線程:線程的同步-同步方法 線程的同步是保證多線程安全訪問競爭資源的一種手段。 線程的同步是Java多線程編程的難點,往往開發者搞不清楚什麼是競爭資源、什麼時候需要考慮同步,怎麼同步等等問題,當然,這些問題沒有很明確的答

原创 Java線程:線程的交互

線程交互是比較複雜的問題,SCJP要求不很基礎:給定一個場景,編寫代碼來恰當使用等待、通知和通知所有線程。 一、線程交互的基礎知識 SCJP所要求的線程交互知識點需要從java.lang.Object的類的三個方法來學習: voi

原创 Java線程:線程的調度-休眠

Java線程調度是Java多線程的核心,只有良好的調度,才能充分發揮系統的性能,提高程序的執行效率。 這裏要明確的一點,不管程序員怎麼編寫調度,只能最大限度的影響線程執行的次序,而不能做到精準控制。 線程休眠的目的是使線程讓出CP

原创 Java線程:線程的調度-優先級

Java線程:線程的調度-優先級 與線程休眠類似,線程的優先級仍然無法保障線程的執行次序。只不過,優先級高的線程獲取CPU資源的概率較大,優先級低的並非沒機會執行。 線程的優先級用1-10之間的整數表示,數值越大優先級越高,默認的

原创 Java線程:線程的同步與鎖

一、同步問題提出 線程的同步是爲了防止多個線程訪問一個數據對象時,對數據造成的破壞。 例如:兩個線程ThreadA、ThreadB都操作同一個對象Foo對象,並修改Foo對象上的數據。 public class Foo {

原创 Java線程:線程的同步-同步塊

Java線程:線程的同步-同步塊 對於同步,除了同步方法外,還可以使用同步代碼塊,有時候同步代碼塊會帶來比同步方法更好的效果。 追其同步的根本的目的,是控制競爭資源的正確的訪問,因此只要在訪問競爭資源的時候保證同一時刻只能一個線程

原创 Java線程:線程的調度-守護線程

Java線程:線程的調度-守護線程 守護線程與普通線程寫法上基本麼啥區別,調用線程對象的方法setDaemon(true),則可以將其設置爲守護線程。 守護線程使用的情況較少,但並非無用,舉例來說,JVM的垃圾回收、內存管理等線程

原创 Java線程:概念與原理

一、操作系統中線程和進程的概念 現在的操作系統是多任務操作系統。多線程是實現多任務的一種方式。 進程是指一個內存中運行的應用程序,每個進程都有自己獨立的一塊內存空間,一個進程中可以啓動多個線程。比如在Windows系統中,一個運行

原创 Java線程:線程的調度-合併

Java線程:線程的調度-合併 線程的合併的含義就是將幾個並行線程的線程合併爲一個單線程執行,應用場景是當一個線程必須等待另一個線程執行完畢才能執行時可以使用join方法。 join爲非靜態方法,定義如下: void join()

原创 程序猿也需要提高情商

提高情商的8種方法 我們無法預定智商,卻可以提高情商,一個傑出的人未必有着高智商,卻一定有着高情商。提高情商其實有着簡而易行的方法,你需要的就是堅持。 1. 學會劃定恰當的心理界限,這對每個人都有好處。 你也許自認爲與他人