我很好奇线程创建对运行.NET微型框架的netduino有什么影响。人们普遍认为线程有一个inherent overhead给他们,但我想知道是否有人知道在嵌入式环境中是否存在.net micro的优化,以及任何人都可以给我一些细节, (分配多少内存,生成需要多少个周期等)。.net微型框架中创建线程的开销是多少?
回答
根据我的经验,NETMF下每个线程的内存成本大约为1K。至于分配线程所需的时间,如果您正在考虑这样的问题,那么可能需要阅读嵌入式系统最佳实践。我不是在嘲笑你,还有相当一段难得的传说,可以为你节省心痛和麻烦。例如,线程的事情。如果你想要可靠性,你必须保证最大的资源需求。如果你打算说“不超过5个线程”,那么你最好在你的初始化过程中启动所有五个线程,并分配他们想要的所有资源。如果你不能这样做,那么你无法保证你的系统在负载下的稳定性。这样做的副作用是,启动它们所需的时间与系统的响应无关,尽管它稍微影响启动时间。
上下文切换存在开销。我无法给你量化的数字,因为我从来不需要对它进行基准测试。 NETMF正在金属上实施;您可以从您可以从ATMEL下载的SoC文档获得一些洞察。或者,如果你在netduino论坛上提问,克里斯可以告诉你一个公平的机会。
如果这是一个家庭作业问题,然后采取汉斯的建议,并看看源代码。如果您正在寻找构建应用程序并评估平台适用性的应用程序,那么在不同线程上执行时序敏感的事情时,我从来没有遇到切换延迟,但我从不使用超过三个或四个线程,其中一个以循环方式服务多个逻辑进程(所有时序不敏感的东西)。
再次,关键的长期稳定性是避免什么的动态分配。
显式编码循环法的优点是您可以控制逻辑进程的顺序。
谢谢,这不是作业,也不是我开发系统。我只是好奇而已。谢谢 – devshorts
然后,作为一个广泛的观察,我会补充一点,我发现Netduino非常适合任何不需要高速采样和计算的任何事情,我为其设计了自己的背板,以简化继电器和伺服电机的机箱安装,功率调节和一个将COM1重新映射到COM2的套接字,这样我就可以使用两个希望在COM1上的屏蔽。我发现简单性的交易非常有价值。 –
- 1. .NET微型框架+ ARM howto
- 2. 实体框架跟踪的开销是多少?
- 3. 为.NET微型框架创建自己的SpiDevice的最佳方式是什么?
- 4. BTrace的开销是多少
- 5. C#多线程:微线程睡眠开销
- 6. 创建多少个线程?
- 7. .NET微型框架和.NET精简框架有什么区别?
- 8. 在.NET DataTable中存储数据的内存开销是多少?
- 9. D中属性的开销是多少?
- 10. TCP套接字和.net微型框架
- 11. .NET微型框架解析双重
- 12. 像Hibernate这样的框架会带来多少开销?
- 13. 是否有人在Visual Studio 2010中使用.NET微型框架?
- 14. Android中的服务开销(我应该创建多少)
- 15. .NET框架线程“血统”
- 16. Netduino程序员.net微框架
- 17. 创建和销毁线程
- 18. 在Python中使用SocketServer框架创建多线程服务器
- 19. 巨大功能的开销是多少?
- 20. Castle Active Record的开销是多少?
- 21. 减少线程上下文的开销,在多线程应用程序
- 22. 微软同步框架建议的开源框架?
- 23. 多少表开销太多?
- 24. 我应该创建多少个线程?
- 25. Node实际创建多少个线程?
- 26. Rust的选项类型的开销是多少?
- 27. 线程开销
- 28. 从Oracle架构撤销创建类型
- 29. 各种.Net框架版本的市场份额是多少?
- 30. .NET框架的部署速度是多少?
.NET Micro是开源的,你为什么不看一看?并衡量你想知道的。 –