gpt4 book ai didi

c++ - 使用 C++ 进行多任务处理。线程或不同的设计?

转载 作者:太空狗 更新时间:2023-10-29 20:44:26 25 4
gpt4 key购买 nike

我一直使用脚本语言,例如 PHP,页面运行、运行完成并给出输出。但是,我想在 C++ 上做一些不同的事情,我需要对两个任务进行多线程处理。

首先,主线程应该运行(比方说)一个每 1 秒刷新一次的 CPU 温度计,第二个线程应该做其他事情。 (比如读取windows目录下的所有目录。)

话虽如此;

  1. 使用线程是我唯一的机会还是我可以使用不同的编程概念来完成这项任务?

  2. 尤其是在游戏中,有大量的东西在后台运行。例如,NPC/怪物的 AI、图形引擎、物理引擎、玩家移动、键盘交互等。它们在单个进程中工作,那么它是如何处理的?

最佳答案

创建一个线程来读取 cpu 温度计,并在每秒结束时读取目录。多线程没有太多好处,但管理线程可能会有些痛苦。您可以将您的TASK 放入列表中并以第二种方式安排它们。

我不确定游戏内容,但我相信他们会在循环中对项目/任务进行分类并安排/检查/处理。一些线程是为一些专用任务创建的,如套接字通信、GUI 渲染等,但为每个项目创建一个专用线程,表示 creep 已结束。

我的建议是,如果可以在一个线程中完成,就不要轻易将多线程引入您的应用程序。多线程会产生其他方面的影响,如同步问题、线程管理问题等。

关于c++ - 使用 C++ 进行多任务处理。线程或不同的设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13261160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com