我需要多线程来完成这个项目吗?

Mil*_*les -1 c++ python multithreading sfml ode-library

目标平台: Windows XP高中计算机

需要的库: SFML,GLEW,ODE,Python(用于嵌入)

计划的功能让我相信我可能需要多线程:

  1. 多达一百个机器人全部实时解释python脚本.
  2. 所有机器人及其组件在物理模拟中与其环境相关.
  3. 在玩家周围的大部分中生成详细的环境.
  4. 游戏运行时可能需要将文件写入硬盘.
  5. (除了这些功能,目标平台让我担心)

我需要多线程来完成这个项目吗?

Alo*_*ave 5

我需要多线程来完成这个项目吗?

如果您的项目需要您同时执行许多独立任务,那么多线程是一个不错的选择.
注意独立同时的压力,基本规则是:

更多的同步需求是多线程的重点.

  • @ MilesRufat-Latre:请注意,仅仅因为你需要同步并不意味着你应该完全抛弃多线程.在任何实时系统中,拥有一个不需要同步的系统将是相当困难的.有一个微妙的平衡,IMO那里没有固定的规则可以决定,但你通过练习和经验到达那里.同步化就像盐,有些总是需要的,但太多的东西会破坏汤. (3认同)
  • @ MilesRufat-Latre:是的,确实你应该将图形与逻辑和物理分开,总是建议使用松散耦合的模块,它会给你更多的灵活性.你可以使用像[MVC]这样的整洁设计模式(http:// en .wikipedia.org /维基/型号%E2%80%93view%E2%80%93controller).此外,如果在不同线程中执行的不同任务之间需要大量同步(例如:需要对相同的全局数据进行操作等),那么您应该考虑将这些减少到最小,尝试遵守我提到的基本规则以上. (2认同)