`
sbl2255
  • 浏览: 224711 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

谈synchronzied和Thread通信

    博客分类:
  • jdk
 
阅读更多
在线程开发中,常常会遇到资源共享与同步的问题,synchronized就是来解决这个问题的,可是当谈到Thread通信,它就不能全部胜任了,还需要notify、wait等来配合。

public class Demo {

	private String msg = "";
	
	private boolean isend = false;

	public String getMsg() {
		return msg;
	}

	public synchronized void setMsg(String msg) {
		isend = false;
		this.msg += msg;
		System.out.println(this.msg);
		if(this.msg.length()==4){
			notify();
			System.out.println(Thread.currentThread().getName()+ "...好了");
			isend = true;
			try {
				System.out.println(Thread.currentThread().getName()+ "...wait");
				wait();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			
			System.out.println(Thread.currentThread().getName()+"...notify");
			
		}
	}
	
	public synchronized void checkMsg(){
		if(this.msg.length()==4 || isend){
			this.msg = "";
			System.out.println(Thread.currentThread().getName()+ "...收到");
			notify();
			try {
				System.out.println(Thread.currentThread().getName()+"...wait");
				wait();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
}
分享到:
评论

相关推荐

    基于RT-Thread 数字焊机与工业机器人通信网关.zip

    基于RT-Thread 数字焊机与工业机器人通信网关.zip基于RT-Thread 数字焊机与工业机器人通信网关.zip基于RT-Thread 数字焊机与工业机器人通信网关.zip基于RT-Thread 数字焊机与工业机器人通信网关.zip基于RT-Thread ...

    RT-thread线程间同步和通信之信号量(动态)

    总结来说,RT-thread中的动态信号量是线程间同步和通信的重要工具,能够有效管理共享资源,避免竞态条件。在实际应用中,如STM32开发中控制硬件资源,如LED灯,通过信号量可以实现高效、可靠的控制逻辑。理解和熟练...

    rt-thread 通信

    这种基于lwIP协议栈的实现方式不仅保证了通信的可靠性,还体现了rt-thread系统在网络通信方面的灵活性和高效性。对于嵌入式开发者来说,深入理解这些底层实现细节有助于更好地利用rt-thread提供的强大网络功能,从而...

    RTThread Stm32 标准库参考工程.zip_RT-Thread STD库_rtos stm32_rtthread_rt

    通过这个参考工程,开发者可以学习如何在STM32上初始化RT-Thread,创建和管理线程,以及使用各种同步和通信机制。 在RTThread STM32标准库参考工程中,你可能找到以下关键知识点: 1. **RT-Thread初始化**:了解...

    基于rt-thread平台的串口通信框架设计源码

    通过阅读和分析源码,开发者可以深入理解串口通信的工作原理以及rt-thread内核如何优化资源分配和任务调度。这对于提升嵌入式开发技能,尤其是在实时系统设计领域,有着重要的意义。 值得注意的是,rt-thread支持多...

    Qt线程之间通信、线程和进程之间通信实例

    Qt库,一个跨平台的应用程序开发框架,提供了丰富的API来支持线程和进程间的通信。本实例将深入探讨Qt如何实现线程间通信以及线程与进程间通信,并提供简单易懂的代码示例。 一、Qt线程间通信 Qt通过信号和槽机制...

    Android代码-mainthread和WorkerThread线程之间的通信助手库

    AndroidChannel is helper library for inter thread communication between main thread and worker thread. AndroidChannel uses HandlerThread for inter thread communication. Setup Gradle dependencies { .....

    java多线程、通信机制、Thread类以及Runnable接口间的使用实例

    1. 写两个线程,一个线程打印1-52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。 学习线程之间的通信协调关系。 2. 使用 runnable 接口实现按两... 使用继承Thread类方式和实现Runnable接口两种方式实现。

    threadx中文资料

    1. **通信设备**:例如路由器、交换机等网络设备,要求高度可靠和实时响应。 2. **消费电子**:智能手机、智能家电等,对用户体验有着极高的要求。 3. **汽车电子**:发动机控制系统、车载娱乐系统等,需要满足严格...

    soket通信(Thread)

    本示例涉及的主题是“Socket通信(Thread)”,这意味着它利用了Java的Socket类和多线程技术来实现在网络上的双向通信。下面我们将深入探讨这个主题。 首先,Socket在Java中被用来创建客户端和服务器之间的连接,它...

    android x86模拟器和PC相互通信(socket)

    综上所述,实现Android模拟器和PC之间的Socket通信需要在PC端编写服务程序,Android端编写客户端程序,通过指定的IP地址和端口进行通信。确保Android应用有网络访问权限,处理好异常,以及正确地打开和关闭Socket...

    ThreadX5.1 Win32 Demo

    ThreadX的核心特性包括任务调度、中断处理、内存管理、同步和通信机制等。在5.1版本中,可能包含了对性能的优化、新的API函数、更好的调试支持以及对更多硬件平台的支持。"Setup.exe"文件是安装程序,用于在Windows...

    ThreadX中文学习手册

    - **嵌入式应用程序**:ThreadX适用于各种嵌入式应用场景,如移动设备、通信设备、汽车电子系统、医疗器械等。 - **实时软件**:ThreadX非常适合那些对外部事件需要快速响应的实时系统,例如控制系统、监控系统等。 ...

    RT-Thread Studio 驱动can组件

    通过驱动CAN组件,开发者可以将RT-Thread操作系统与CAN模块结合,实现数据的高效传输和设备间通信。 4. STM32F405与CAN组件的关联 STM32F405是ST公司生产的一款高性能ARM Cortex-M4微控制器,它内置有多个CAN控制器...

    RTThread线程间同步与通信.pptx

    在嵌入式系统应用领域,特别是基于龙芯架构的系统,线程间的同步和通信是至关重要的。RT-Thread是一个轻量级实时操作系统,提供了多种机制来实现这一目标,包括信号量和邮箱。 信号量是RT-Thread中用于线程同步的一...

    rtthread_simulator_v0.1.0_pcstm32_rt-threadstm32音乐播放_rtthread_RT

    总之,"rtthread_simulator_v0.1.0"项目提供了一个实用的学习平台,将理论知识与实践相结合,帮助学习者在掌握RT-Thread和STM32的基础上,提升串口通信和音乐播放应用的能力。这个项目不仅是课堂上的一个精彩实践,...

    RT-Thread.pdf

    RT-Thread单片机微操作系统电子书教程为嵌入式开发者提供了一种强大的工具,通过介绍内核对象、线程管理、时钟管理、同步和通信机制等内容,使开发者能够有效地管理嵌入式设备资源,实现多任务处理。本教程强调了RT-...

    Threadx操作系统源代码(1.02M)

    3. **同步与通信**:ThreadX提供了丰富的同步机制,如信号量、互斥量、事件标志组和消息队列,这些机制用于线程间的协调和数据交换。 4. **定时器**:ThreadX具有硬件抽象层的定时器服务,可以设置周期性任务或一次...

    rtthread 调通freemodbus 从机和主机STM32F103VCT6

    在本文中,我们将深入探讨如何在RTThread操作系统上配置并调试FreeModbus协议,以便在STM32F103VCT6微控制器上实现主从通信。RTThread是一款轻量级、高效的实时操作系统,广泛应用于物联网设备。FreeModbus是Modbus...

    ThreadX内核用户手册,含SMP多核(中文版).pdf

    ThreadX RTOS 提供高级计划、通信、同步、计时器、内存管理和中断管理功能。 ThreadX API 服务 ThreadX API 是 ThreadX RTOS 的核心部分,提供了多种服务,包括: * tx_thread_create():创建一个新的线程 * ...

Global site tag (gtag.js) - Google Analytics