【第06个代码模型】综合案例:生产者与消费者(解决同步问题)|学习笔记

简介: 快速学习 【第 06 个代码模型】综合案例:生产者与消费者(解决同步问题)

开发者学堂课程【【名师课堂】Java 高级开发【第 06 个代码模型】综合案例:生产者与消费者(解决同步问题)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/372/detail/4566


【第 06 个代码模型】综合案例:生产者与消费者(解决同步问题)


范例

如果要想解决同步的问题,那么首先就应该立刻可以想到使用 synchronized 关键字来定义同步的操作方法,所以此时应该将代码修改如下

private string title;private string note;

public void setNote(string note) {

this.note = note;

}

将上方代码修改如下:

private string title;private String note;

public synchronized void get() {

try i

Thread.sleep( 50) ;

catch (InterruptedException e) {

e.printstackTrace();

}

system.out.print1n(this.title + " = " + this.note);

public synchronized void set(String title,string note) {

this.title = title ;

try i

Thread.sleep(100) ;

}catch (InterruptedException e) {

e.printstackTrace();

}

this.note = note ;

public void setNote(string note) {

this.note = note;

}

public void setTitle(string title) {

this.title = title;

}

public string getNote() {

return note;

}

public string getTitle() {

return title;

暂时先不要

if (x % 2 == ) i

this.data.setTitle("老李");try {

Thread.sleep( 1000) ;

}catch (InterruptedException e) {

e.printstackTrace();

}

this.data. setNote("是个好人");}else i

this.data.setTitle("民族败类");try i

Thread.sleep(200);

}catch (InterruptedException e) i

e.printstackTrace();

}

将上方代码修改为以下方式

for (int x = 0; x < 50; x++) {

if (× % 2 == ) i

this.data.set("老李","是个好人");}else {

this.data.set("民族败类","老方B");

}

}

}

}

T

try {

Thread.sleep(150);

}catch (InterruptedException e) {

e.printstackTrace();

}

system.out.println(this.data.getTitle() + " = " + this.data.getNote())

上方代码修改为 get

this.data.get();

于是现在发现,整个数据的同步得到了很好的解决,但是重复操作的问题严重了

Thread.sleep(50); 这个是取得时间

Thread.sleep(00) ;这是设的延迟

生产快取的慢

所以此代码直解决了数据同步但无法解决交替问题。

相关文章
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1020 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1718 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
660 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
623 13
|
5天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
383 4