gpt4 book ai didi

c++ - C++ 中带线程的强力搜索算法的并行化

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:46:43 25 4
gpt4 key购买 nike

我一直在用 C++ 开发一个暴力破解程序,目前只处理字母数字值(仅限小写)和未知长度的密码。

我正在使用一台四核计算机,因此我将可能性列表分为四个部分,并让一个线程处理每个部分。

这些部分是:

000...0 to 8zz...z
900...0 to hzz...z
i00...0 to qzz...z
r00...0 to zzz...z

我可以更好地利用线程来提高速度吗?由于 4 个线程中只有 1 个会达到密码,所以感觉程序的 3/4 都是浪费时间。

看起来,如果我能让线程以某种方式协同工作,效率会更高,但我似乎想不出一种方法来做到这一点。

非常感谢任何建议,我对线程处理还很陌生。

*编辑:我应该澄清一下,因为它是一个用于学术目的的相当简单的程序,我实际上只是破解一个密码,并在找到它后发出信号杀死其余 3 个线程。 *

最佳答案

这里有一些想法:

  • 您可以使用原子 bool 变量在已找到密码的线程之间进行通信。每个线程只需定期检查(例如,在尝试下一个密码之前)是否已设置标志。
  • 您也可以使用一个集中的密码列表来尝试让每个线程在需要时抓取项目,而不是将工作静态地分成四个相等的部分。

关于c++ - C++ 中带线程的强力搜索算法的并行化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14324877/

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