原创 多線程運行原理

多線程的隨機性打印結果分析: Java的線程調度爲搶佔式調度,打印出來的多線程爲隨機性打印結果. 下面我們解釋一下多線程情況下的隨機性打印結果: 當我們運行程序時,JVM找OS開闢一條main方法通向cpu的路徑,這條路徑叫主線程

原创 解決線程安全問題:同步方法

解決線程安全問題第二種方案: 同步方法 定義:用synchronized修飾的方法就叫做同步方法,保證一個線程執行該方法的時候,其它線程只能在方法外等着. 格式: 修飾符 synchronized 返回值類型 方法名(參數列表){

原创 什麼是進程?

電腦中有硬盤(ROM)和內存(RAM),程序沒有運行時儲存在硬盤中,等到程序運行時,爲了使程序可以快速運行,則程序被加載到內存中,那麼被加載到內存中的程序我們叫它爲進程.

原创 等待喚醒案例代碼實現

代碼: package demo06.waitAndNotify; /** * @Description: java類作用描述 * @Author: Zhiwen.Li【 * @CreateDate: 2019/10/5

原创 獲取線程名稱

有兩種方式, 第一種方式:使用Thread類中的getName方法直接可以獲取本線程的名字,在main中每創建一個新的線程並調用新線程的start方法,就會執行新線程的run方法,而run方法中有我們打印的getName方法所得出

原创 線程安全問題的概述

假設電影院賣票場景: 一個窗口賣100張票,這是沒有問題的------單線程 多個窗口一起賣票,但是賣的票不同,這也是不會出現問題的------多線程程序,但沒有訪問共享數據 多個窗口一起賣票,賣的票是一樣的,這就會出現安全問題-

原创 什麼是線程調度?

計算機通常只有一個CPU,在任意時刻只能執行一條機器指令,每個線程只有獲得CPU的使用權才能執行指令。所謂多線程的併發運行,其實是指從宏觀上看,各個線程輪流獲得CPU的使用權,分別執行各自的任務。在線程池中,會有多個處於就緒狀態的

原创 等待喚醒機制概述

什麼是等待喚醒機制: 這是多個線程間的一種協作機制。談到線程我們經常想到的是線程間的競爭(race),比如去爭奪鎖,但這並不是 故事的全部,線程間也會有協作機制。就好比在公司裏你和你的同事們,你們可能存在在晉升時的競爭,但更多時

原创 等待喚醒機制需求分析

等待喚醒機制代碼實現

原创 Object類中wait帶參方法和notify

進入到TimeWaiting(計時等待)有兩種方式: 1.使用sleep(long m)方法,在毫秒值結束之後,線程睡醒進入到Runnable/Blocked(運行/阻塞)狀態 2.使用wait(long m)方法,wait方法

原创 強大的Mybatis動態SQL

https://blog.csdn.net/qq_40490518/article/details/80734373

原创 設置線程名稱

設置線程名稱有兩種方法: 1.使用Thread類中的setName方法改變線程名稱: 在main中設置線程名字: 2.使用帶參構造方法設置線程名稱 創建一個帶參數的構造方法,參數傳遞線程的名字; 調用父類帶參構造,並把線程名稱

原创 匿名內部類形式創建多線程

創建多線程的方式有兩種,而創建多線程的形式還有一種就是匿名內部類,下面分別用兩種創建方式的匿名內部類形式給大家演示一下: 1.繼承Thread的匿名內部類形式創建線程 2.實現Runnable的匿名內部類形式創建線程

原创 線程池的代碼實現

線程池:JDK1.5之後提供的 java.util.concurrent.Executors:線程池的工廠類,用來生成線程池 Executors類中的靜態方法: static ExecutorService newFixedThr

原创 等待喚醒機制代碼實現

包子類: package demo06.waitAndNotify.baoZi; /** * @Description: java類作用描述 * @Author: Zhiwen.Li * @CreateDate: 2019