執行緒間通訊學習 二

2021-08-27 10:11:37 字數 852 閱讀 2928

解決執行緒間通訊的安全問題:同步鎖的使用:

package com.zzl.thread;

/*** 執行緒間通訊

* 所謂執行緒間通訊,即多個執行緒操作同一資源,但是操作的動作不同。

* */

class resource

class inrunnable implements runnable

@override

public void run() else

x = (x+1)%2;}}

}}class outrunnable implements runnable

@override

public void run() }}

}public class threadcommunication

}

新增同步鎖後,問題解決:

胖胖胖胖胖胖胖胖    ******   

胖胖胖胖胖胖胖胖 ******

胖胖胖胖胖胖胖胖 ******

胖胖胖胖胖胖胖胖 ******

胖胖胖胖胖胖胖胖 ******

胖胖胖胖胖胖胖胖 ******

胖胖胖胖胖胖胖胖 ******

mike man

mike man

mike man

mike man

mike man

mike man

mike man

mike man

RTThread學習筆記 執行緒間通訊學習(二)

訊息佇列 在了解訊息佇列之前,先複習下資料結構的知識 佇列,插入和刪除受到限制的一種特殊線性表,只允許在後端進行插入操作,在前端進行刪除。訊息佇列是rtt系統中常用的一種通訊結構,執行緒可以從佇列中讀取訊息,如果佇列中沒有訊息,則掛起執行緒。它是一種非同步通訊的方式。由於佇列結構的特殊性,執行緒最先...

Java多執行緒 執行緒間通訊(二)

一 生產者 消費者模式 在併發程式設計中使用生產者和消費者模式能夠解決絕大多數併發問題。該模式通過平衡生產線程和消費執行緒的工作能力來提高程式的整體處理資料的速度。生產者消費者模式是通過乙個容器來解決生產者和消費者的強耦合問題。生產者和消費者彼此之間不直接通訊,而通過阻塞佇列來進行通訊,所以生產者生...

執行緒間通訊

執行緒間通訊 多個執行緒在操作統一資源,但各個執行緒操作的動作不同。資源 class res class input implements runnable public void run else x x 1 2 class output implements runnable public vo...