扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

Java涓璖ynchronousQueue闃熷垪鎬庝箞瀹炵幇鎺掗槦

扬州沐宇科技
2024-01-22 09:35:15
Java

鍦↗ava涓紝SynchronousQueue闃熷垪鏄竴绉嶇壒娈婄殑闃诲闃熷垪锛屽叾涓昏鐗圭偣鏄彧鑳藉悓鏃舵湁涓€涓厓绱犲湪闃熷垪涓紝褰撲竴涓嚎绋嬪皾璇曞皢涓€涓厓绱犳斁鍏ラ槦鍒楁椂锛屽畠浼氳闃诲锛岀洿鍒板彟涓€涓嚎绋嬪皾璇曚粠闃熷垪涓彇鍑鸿鍏冪礌銆?/p>

瑕佸疄鐜版帓闃熷姛鑳斤紝鍙互浣跨敤SynchronousQueue鐨刼ffer()鏂规硶鍜宼ake()鏂规硶鏉ュ疄鐜般€?/p>

浠ヤ笅鏄竴涓畝鍗曠殑绀轰緥浠g爜锛?/p>

import java.util.concurrent.SynchronousQueue;

public class QueueExample {
    private static SynchronousQueue<String> queue = new SynchronousQueue<>();

    public static void main(String[] args) {
        // 鍒涘缓澶氫釜绾跨▼
        for (int i = 0; i < 5; i++) {
            Thread thread = new Thread(() -> {
                try {
                    String name = Thread.currentThread().getName();
                    System.out.println(name + " 姝e湪鎺掗槦...");
                    queue.offer(name); // 灏嗙嚎绋嬪悕绉版斁鍏ラ槦鍒?/span>
                    System.out.println(name + " 鎺掗槦鎴愬姛锛屽紑濮嬪伐浣?quot;);
                    Thread.sleep(1000);
                    System.out.println(name + " 宸ヤ綔瀹屾垚锛岀寮€闃熷垪");
                    queue.take(); // 浠庨槦鍒椾腑鍙栧嚭绾跨▼鍚嶇О
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            });
            thread.start();
        }
    }
}

鍦ㄨ繖涓ず渚嬩腑锛屽垱寤轰簡5涓嚎绋嬶紝姣忎釜绾跨▼閮戒細灏濊瘯灏嗚嚜宸辩殑鍚嶇О鏀惧叆闃熷垪涓紝鐒跺悗绛夊緟鍏朵粬绾跨▼鍙栧嚭鑷繁鐨勫悕绉般€傚綋涓€涓嚎绋嬭闃诲鏃讹紝鍏朵粬绾跨▼浼氱户缁墽琛岋紝鐩村埌琚樆濉炵殑绾跨▼琚敜閱掋€?/p>

娉ㄦ剰锛孲ynchronousQueue闃熷垪涓嶅瓨鍌ㄥ厓绱狅紝鍙槸浣滀负绾跨▼闂撮€氫俊鐨勪腑浠嬶紝鍥犳鍦ㄤ娇鐢ㄨ繃绋嬩腑瑕佺‘淇濇湁鍏朵粬绾跨▼鏉ュ彇鍑洪槦鍒椾腑鐨勫厓绱狅紝鍚﹀垯浼氬鑷寸嚎绋嬩竴鐩撮樆濉炪€?/p>

扫码添加客服微信