欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

idea中斷點(diǎn)類型之All和Thread的區(qū)別介紹

 更新時(shí)間:2022年03月17日 16:38:06   作者:我叫985  
使用all模式對于程序中含有多個(gè)線程來說,會(huì)將多個(gè)線程都阻塞在斷點(diǎn),此時(shí)所有的線程都執(zhí)行到此處,在最后一個(gè)線程執(zhí)行到此處是會(huì)發(fā)生暫停,在這之前的線程會(huì)繼續(xù)執(zhí)行到任意位置,本文給大家詳細(xì)介紹下idea中斷點(diǎn)類型之All和Thread的區(qū)別,感興趣的朋友一起看看吧

All模式

  •  所有的線程都要在當(dāng)前位置被阻塞,誰先來就先阻塞誰,發(fā)生阻塞時(shí)其他的線程當(dāng)前時(shí)刻執(zhí)行到哪里就在哪里進(jìn)行原地等待。
  • 如果此時(shí)按下一步F6,那所有的線程都通過阻塞代碼如果此時(shí)按恢復(fù)程序運(yùn)行F8,那么當(dāng)前線程通過阻塞代碼,等待下一個(gè)線程的到來,也是誰先來阻塞誰,發(fā)生阻塞時(shí)其他的線程當(dāng)前時(shí)刻執(zhí)行到哪里就在哪里進(jìn)行原地等待。
public class ThreadAndAllBreakApplication {

    public static void main(String[] args) {
        ThreadTest thread1 = new ThreadTest();
        thread1.setName("線程A");
        thread1.start();
        ThreadTest thread2 = new ThreadTest();
        thread2.setName("線程B");
        thread2.start();
        ThreadTest thread3 = new ThreadTest();
        thread3.setName("線程C");
        thread3.start();
    }
}
class ThreadTest extends Thread {
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName() + ": 1");
        try {
            long millis = RandomUtil.randomLong(100, 500);
            System.out.println(Thread.currentThread().getName() + "睡眠: " + millis);
            Thread.sleep(millis);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println(Thread.currentThread().getName() + ": 2");
        System.out.println(Thread.currentThread().getName() + ": 3");
        System.out.println(Thread.currentThread().getName() + ": 設(shè)置斷點(diǎn)的前一行代碼"); // 當(dāng)前行設(shè)置斷點(diǎn)
        System.out.println(Thread.currentThread().getName() + ": 4");
        System.out.println(Thread.currentThread().getName() + ": end");

線程A: 1
線程C: 1
線程B: 1
線程C睡眠: 283
線程A睡眠: 340
線程B睡眠: 127
線程B: 2
線程B: 3
線程B: 設(shè)置斷點(diǎn)的前一行代碼 // B來到了這里,此時(shí)其他線程A、B在原地等待,即A、B都在睡眠。
線程A: 2 // A之前執(zhí)行到睡眠,現(xiàn)在執(zhí)行2
線程A: 3
線程A: 設(shè)置斷點(diǎn)的前一行代碼 // A來到了這里,此時(shí)其他線程B、C在原地等待
線程C: 2 // c之前執(zhí)行到睡眠,現(xiàn)在執(zhí)行2
線程C: 3
線程A: 4
線程B: 4
線程A: end
線程C: 設(shè)置斷點(diǎn)的前一行代碼 // C來到了這里,如果不放行斷點(diǎn),B一直也不會(huì)輸出end,會(huì)在原地等待(這里證明了當(dāng)某個(gè)線程被All斷點(diǎn)阻塞后,其他線程會(huì)在原地等待)
線程B: end
線程C: 4
線程C: end

Thread模式

所有的線程都會(huì)運(yùn)行到斷點(diǎn)處然后阻塞

  • 如果此時(shí)按下一步F6,那當(dāng)前的線程都通過阻塞代碼,其他線程不動(dòng)。
  • 如果此時(shí)按恢復(fù)程序運(yùn)行F8,那么當(dāng)前線程通過阻塞代碼,并自動(dòng)切換到下一個(gè)阻塞線程進(jìn)行調(diào)試。

在這里插入圖片描述

到此這篇關(guān)于idea中斷點(diǎn)類型:All和Thread的區(qū)別的文章就介紹到這了,更多相關(guān)idea 斷點(diǎn)All和Thread內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java經(jīng)典面試題之NIO多路復(fù)用

    Java經(jīng)典面試題之NIO多路復(fù)用

    JAVA?NIO?的多路復(fù)用是面試中經(jīng)常被問的問題,今天我們徹底搞明白究竟是怎么回事,文中的示例代碼講解詳細(xì),希望對大家學(xué)習(xí)Java有所幫助
    2023-06-06
  • Spring Bean作用域與生命周期深入講解

    Spring Bean作用域與生命周期深入講解

    這篇文章主要介紹了淺談Spring中Bean的作用域,生命周期和注解,從創(chuàng)建到消亡的完整過程,例如人從出生到死亡的整個(gè)過程就是一個(gè)生命周期。本文將通過示例為大家詳細(xì)講講,感興趣的可以學(xué)習(xí)一下
    2022-07-07
  • java中的executeQuery()方法使用

    java中的executeQuery()方法使用

    這篇文章主要介紹了java中的executeQuery()方法使用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Mac中IntelliJ IDEA 2019.1注冊過程分享

    Mac中IntelliJ IDEA 2019.1注冊過程分享

    這篇文章主要介紹了Mac中IntelliJ IDEA 2019.1注冊過程,本文給大家分享到腳本之家平臺(tái)供大家學(xué)習(xí),需要的朋友可以參考下
    2020-02-02
  • Spring一步到位精通攔截器

    Spring一步到位精通攔截器

    攔截器(Interceptor)是一種動(dòng)態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動(dòng)態(tài)攔截控制器方法的執(zhí)行。本文將詳細(xì)講講SpringMVC中攔截器的概念及入門案例,感興趣的可以嘗試一下
    2023-01-01
  • idea如何關(guān)閉右側(cè)類顯示方法

    idea如何關(guān)閉右側(cè)類顯示方法

    這篇文章主要介紹了idea如何關(guān)閉右側(cè)類顯示方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java Date裝成英文String后,無法再轉(zhuǎn)回Date的解決方案

    java Date裝成英文String后,無法再轉(zhuǎn)回Date的解決方案

    本文介紹了java Date裝成英文String后,無法再轉(zhuǎn)回Date的解決方案。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • Java利用ip2region實(shí)現(xiàn)獲取IP地址詳情

    Java利用ip2region實(shí)現(xiàn)獲取IP地址詳情

    ip2region是一個(gè)離線IP地址定位庫和IP定位數(shù)據(jù)管理框架,10微秒級別的查詢效率,提供了眾多主流編程語言的?xdb?數(shù)據(jù)生成和查詢客戶端實(shí)現(xiàn)。本文將利用ip2region實(shí)現(xiàn)獲取IP地址詳情,感興趣的可以了解一下
    2022-07-07
  • SpringBoot中的Future接口詳解

    SpringBoot中的Future接口詳解

    這篇文章主要介紹了SpringBoot中的Future接口詳解,在異步編程中,我們通常需要處理一些耗時(shí)的操作,一種常見的做法是使用 Future 接口來代表一個(gè)異步操作的結(jié)果,需要的朋友可以參考下
    2023-07-07
  • Java中的Null到底是什么

    Java中的Null到底是什么

    null是沒有地址,""是有地址但是里面的內(nèi)容是空的,好比做飯 null說明連鍋都沒有 而""則是有鍋沒米,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們來詳細(xì)學(xué)習(xí)一下它吧
    2019-06-06

最新評論