- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望将 Windows C++ 应用程序迁移到 C#,以便一些主要的增强功能更容易一些。 C++ 应用程序是单线程的,并使用自己开发的 react 器模式来处理接受、读取和写入套接字以及计时器的所有事件。所有套接字处理都是异步完成的。
实现 C# react 器模式的公认方法是什么?现有图书馆吗?
最佳答案
布罗菲尔德,
不幸的是,C# 世界的心态仍然处于每个连接线程领域。我正在寻找一种方法来处理单个 Compact Framework/Windows CE 框上的多个连接,并希望编写我自己的 Proactor/Reactor 模式(仿照 ACE 中使用的模式)Compact Framework 似乎不支持异步连接 -只是异步阅读和写作。我还需要严格控制超时(软实时应用程序)。
艾伦,
实现前摄器/ react 器模式的一个原因是您不必为每个连接都运行一个线程。 Web 服务器就是典型的例子。一个繁忙的服务器在任何时候都可以很容易地有数百个连接处于事件状态。有了那么多线程(我已经看到有一个线程读取数据,另一个线程写入数据的实现),上下文切换所花费的时间变得很重要。在 750Mhz ARM 处理器上的 Windows CE 下,我测量了 1 毫秒,峰值高达 4 毫秒。
我仍然发现我遇到的大多数 C# 和 Java 应用程序仍然有太多线程在运行。似乎是一切的解决方案 - 启动另一个线程。例子。 Eclipse(IDE)甚至在我实际打开一个项目之前就使用了 44 个线程。 44个线程????到底要做什么???这就是 Eclipse 这么慢的原因吗?
关于c# - 是否有 C# react 器/proactor 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/973160/
Boost asio实现基于 ACE proactor 的前摄器设计模式. 我理解为什么我们需要异步读取。但是,我对异步写入感到困惑。 为什么我们需要异步写入?它对 TCP/UDP 连接也有用吗(写入
我希望将 Windows C++ 应用程序迁移到 C#,以便一些主要的增强功能更容易一些。 C++ 应用程序是单线程的,并使用自己开发的 react 器模式来处理接受、读取和写入套接字以及计时器的所有
我正在实现一个消息传递算法。当相邻节点在节点上有足够的信息来组成消息时,消息就会在相邻节点之间传递——从相邻节点传递到该节点的信息。如果我让每条消息成为一个线程并使用 boost::condition
网上很多文章都以nodejs为例来演示 react 器模式。是不是更偏向于前者? 据我了解,两者的区别在于: reactor handles events in a single thread (sy
我最近在一次代码审查中遇到了困难,在接口(interface)适配器中实现了一个 ASIO UDP 套接字;似乎实现了另一个输入 UDP 套接字,并且假设输入和输出都在同一个线程上。所以,我想知道为什
所以我在这里阅读我最喜欢的软件模式书籍之一(面向模式的软件架构 - 并发和网络对象的模式),特别是关于 Proactor/Reactor 异步 IO 模式的部分。我可以看到通过使用可选 channel
我是一名优秀的程序员,十分优秀!