ming159 最近的时间轴更新
ming159

ming159

V2EX 第 545009 号会员,加入于 2021-05-11 11:13:50 +08:00
今日活跃度排名 19882
ming159 最近回复了
4 天前
回复了 windpinw 创建的主题 程序员 桌面端技术选型求指导
C#吧,Winform ,拖拽个界面。使用 HTTP 协议与 Java 通信交换数据,例如 Flurl ;
然后 Java 端内置一个 Jetty 作为 web 服务;

缺点: 仅适用于 Windows ,无法跨平台;界面稍微不注意会很丑
优点: 快,Java 端逻辑可以完全复用。
换个梯子的节点就好了,可能是某些节点的问题.
1. 办一个禅修学院,真正教授正确修行方法的地方.
2. 去西藏某个寺院出家
String contenxt = File.read("path");

首先,代码运行是在 CPU 中执行;

其次,CPU 再向 IO 设备,例如内存,硬盘,或者网络发出读写指令;

最后,CPU 等待 IO 设备反馈;

此时,问题就来了,CPU 以纳秒为单位, 无论是内存,硬盘,还是网络,尤其是网络 以毫秒为单位,相差了多少倍,请自行换算.

就意味着,如果是同步 IO 模型,那在 CPU 发出读写指令后,会令当前线程

阻塞

阻塞

阻塞

等收到设备数据后,当前线程,继续往下执行.

针对以上过程,所谓的 "性能" 也好 "吞吐量" 也好,绝大多数浪费在了 CPU 等待 IO 设备反馈的时间上了. 那如何解决这个问题呢?
请自行阅读 https://segmentfault.com/a/1190000039898780 5 种 IO 模型.

所以如果想提高 "性能" 两方面入手:

1. 框架本身基于更高效的 IO 模型
2. 业务层代码,也使用更高效的 IO 模型库:

比如将 同步 IO 代码

String contenxt = File.read("path");
更换为 异步 IO 代码
String contenxt = await File.read("path");

async / await 都是语法糖,语法糖,语法糖,只是语言层面为了开发人员简化书写提供的便捷写法. 而底层 IO 机制无外乎前文中的 5 种 IO 模型
103 天前
回复了 ming159 创建的主题 程序员 工业数据通信网关程序
.idea,.gradle 目录已经移除了.

@danc 我现在仅仅算是用基恩士上位链路协议跑通阶段. 后面肯定扩展其他协议. 但这方面网上的协议资料不好找,你可以分享一下关于协议方面的资料吗
104 天前
回复了 ming159 创建的主题 程序员 工业数据通信网关程序
多谢,目前是用 Java 基于 Netty 做. 想先做好 稳定性 只采集,也够支持目前数字化车间的应用场景了. 且最低可以稳定在 5ms~10ms 的采集周期也足以应付绝大多数数据采集续期. 稳定性,协议多样性以后,再想办法扣速度. 支持可靠的写入特性.(与 plc 做写入交互,确保确实写入了.)
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2348 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 15:33 · PVG 23:33 · LAX 07:33 · JFK 10:33
♥ Do have faith in what you're doing.