gpt4 book ai didi

multithreading - 启动线程是简化代码的有效答案吗?

转载 作者:行者123 更新时间:2023-12-04 06:48:56 26 4
gpt4 key购买 nike

随着多处理器和多核计算机变得越来越普遍,简单地启动一个新线程是一种(相对)简单且轻松的代码简化方式吗?例如,在当前的个人项目中,我有一个网络服务器正在监听一个端口。由于这只是一个个人项目,它只是一个桌面应用程序,其中集成了一个 GUI 用于配置。因此,该应用程序读取如下内容:

主要的()
读取配置
启动监听线程
运行图形界面

监听线程
应用程序运行时
等待新的连接
为新连接运行客户端线程

客户线程
同步写入
同步读取
无限期,或直到他们断开连接

这种方法意味着,虽然我不得不担心很多锁定问题,但我会避免大量来自异步调用的意大利面条代码等。

今天,当我在编写启动代码时,出现了一个稍微阴险的版本。启动很快,但它对很多配置使用延迟加载,这意味着虽然启动很快,但实际上连接和使用服务很困难,因为它在加载不同部分时存在延迟(这实际上是可以测量的时间,有时长达 3-10 秒)。所以我采取了不同的策略,在启动时,循环遍历所有内容并强制延迟加载......但这让它开始变得非常缓慢;起床,慢慢去喝杯咖啡。最终解决方案:将循环放入一个单独的线程中,并在系统托盘中提供反馈,同时它仍在加载。

这是“嗯,把它放在另一个线程,它会没事”的态度好吗?您在什么时候开始获得 yield 递减和/或什至降低性能?

最佳答案

多线程做了很多事情,但我不认为“简化”是其中之一。

关于multithreading - 启动线程是简化代码的有效答案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1125301/

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