黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java多線程編程概述
Java多線程的安全問題
Java多線程同步
Java多線程間的通信
Java線程Lock
Java多線程管理
保障線程安全的設計技術
Java鎖的優化及注意事項
Java多線程集合
【Java多線程】單例模式與多線程

多線程饑餓與Java多線程活鎖

線程饑餓

線程饑餓是指線程一直無法獲得所需要的資源導致任務一直無法執行的一種活性故障。

線程饑餓的一個典型例子就是在高爭用環境中使用非公平模式的讀寫鎖.讀寫鎖默認情況下采用非公平調度模式,如果這些線程對鎖的爭用程度比較高,有可能會出現讀鎖總是搶先執行,而寫鎖始終無法獲得的情況,導致一直無法更新數據.非公平鎖可以支持更高的吞吐率,也可能導致某些線程始終無法獲得資源鎖。

在高爭用環境中,由于線程優先級設置不當,可能會導致優先級低的線程一直無法獲得CPU執行權,出現了線程饑餓的情況。

package com.wkcto.threadactivity.starvation;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 線程饑餓
 * 由于線程所需要的資源一直無法獲得導致線程一直處于等待狀態
 */
public class Test {
    public static void main(String[] args) {
        //創建只有一個線程的線程池
        ExecutorService executorService = Executors.newSingleThreadExecutor();
        //向線程池中添加取數據任務與添加數據的任務
        executorService.submit(new TakeDataTask());
        executorService.submit(new AddDataTask());
        executorService.shutdown();
    }

    //創建一個阻塞隊列
    private static final BlockingQueue<Integer> QUEUE = new ArrayBlockingQueue<>(10);
    //定義一個向阻塞隊列中添加數據的任務
    private static class AddDataTask implements Runnable{
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getId() +  " 編號的線程執行添加數據的任務");
            try {
                QUEUE.put(123);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    //定義從隊列中取數據的任務
    private static class  TakeDataTask implements Runnable{
        @Override
        public void run() {
            System.out.println( Thread.currentThread().getId()  + " 編號的線程執行取數據的任務");
            try {
                Integer data = QUEUE.take();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

活鎖

活鎖是指線程一直處于運行狀態,但是任務卻一直無法進展的一種活性故障,即產生活鎖的線程一直做無用功。

線程在爭取所需要的資源過程中,如果”屢戰屢敗,屢敗屢戰”,線程一直在申請其所需要資源而一直未申請成功,那么線程饑餓實際上就演變為活鎖。

類似于兩人過獨木橋。

全部教程
主站蜘蛛池模板: 深夜影院老司机69影院 | 中文字幕一区二区三区 精品 | 草草视频在线观看 | 免费 黄 色 人成 视频 | 成 人 动漫在线观看网站网站 | 国产一区二区中文字幕 | 毛片手机在线观看 | 三级三级三级a级全黄公司的 | 国产视频精品免费 | 国产精品99久久免费观看 | 老司机免费精品视频 | 日本一区二区三区高清福利视频 | 午夜一级片 | 狠狠色丁香婷婷综合欧美 | 麻豆精品传媒一二三区在线视频 | 天天干天天玩天天操 | 国产亚洲精品日韩已满十八 | 国产精品 视频一区 二区三区 | 免费观看黄色毛片 | 国产日产高清欧美一区二区三区 | 久久青草视频 | 一区二区三区精品国产欧美 | 天天做天天摸 | 亚洲精品乱码国产精品乱码 | 福利所导航导航导航导航 | 午夜欧美成人 | 亚洲欧美中文字幕高清在线一 | 免费观看色 | 在线观看欧美国产 | 又黄又爽又色视频 | 欧美一级特黄一片免费 | 成人永久福利在线观看不卡 | 国产亚洲欧美日韩综合另类 | 一级毛片在线视频 | 日本一本一道久久香蕉免费 | 国产亚洲女在线精品 | 日本欧美大码aⅴ在线播放 日本欧美成人免费观看 | 三级全黄裸体 | 永久在线毛片免费观看 | 国产精品v一区二区三区 | 国内外成人免费在线视频 |