【问题标题】:Matrix multiplication using threads使用线程的矩阵乘法
【发布时间】:2011-03-13 15:04:01
【问题描述】:

我正在尝试通过为每个输出单元格使用 1 个线程来将 2 个矩阵相乘。
我在 unix 上使用 c++/g++。
我该怎么做呢?
我可以循环执行此操作吗?

【问题讨论】:

  • 是的,这是我第一次使用线程。
  • 到目前为止你在这个问题上做了什么?
  • 可能duplicate你之前的问题。
  • @Sam Miller 不,它不是重复的。其他问题是关于使用线程创建矩阵,现在我需要弄清楚如何使用带线程的循环来乘以矩阵。
  • @ohlegend 使用此信息编辑您的问题,这样其他人就不必通读 cmets。

标签: c++ unix g++ pthreads


【解决方案1】:

这是我的建议:

  1. 编写一个计算一个输出单元的函数。给它参数,指示要计算的单元格。
  2. 编写一个单线程程序,该程序使用循环来计算每个单元格(从“1”调用函数)。存储所有结果,在计算完所有单元格之前不要将它们写出来。
  3. 修改程序,使每个循环不再调用函数,而是创建一个线程来执行函数。
  4. 弄清楚如何让“主”程序等到所有线程都完成后再写出所有结果。

我认为这将为您提供制定解决方案的策略,而无需我为您做作业。

如果您尝试过但它不起作用,请在此处发布您的代码,人们会帮助您调试它。重要的不是让你得到一个好的答案,而是让你学会如何解决这类问题——所以如果有人只是给你答案,它对你并没有真正的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    相关资源
    最近更新 更多