加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

多线程 – pthreads – 如何并行化作业

发布时间:2020-12-15 08:29:37 所属栏目:Java 来源:网络整理
导读:我需要并行化一个简单的密码破解程序,以便在n处理器系统上使用它.我的想法是创建n个线程,并在完成后为它们提供越来越多的工作. 了解线程何时完成的最佳方法是什么?互斥?在其他线程运行时不断检查这个互斥锁是不是很昂贵? 解决方法 您可以拥有一个简单的队
我需要并行化一个简单的密码破解程序,以便在n处理器系统上使用它.我的想法是创建n个线程,并在完成后为它们提供越来越多的工作.

了解线程何时完成的最佳方法是什么?互斥?在其他线程运行时不断检查这个互斥锁是不是很昂贵?

解决方法

您可以拥有一个简单的队列结构 – 使用您喜欢的任何数据结构 – 然后在添加/删除项目时使用互斥锁.

如果您的线程以足够大的“块”抓住他们需要完成的工作,那么互斥锁上的争用很少,因此开销非常小.

例如,如果每个线程一次抓取大约1秒的工作并独立工作1秒,那么互斥锁上的操作就会很少.

线程可以在没有更多工作时退出;然后主线程可以使用pthread_join等待.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读