我不确定如果这个问题在这里问题是否合适。如果有人知道更好的平台让我知道。或者一些阅读材料。我想知道是否可以使用线程通过线程添加多个数组。这会导致更快的功能。 通常我使用for循环添加两个数组(相同长度)的方式。但我认为,因为每条指令都按顺序运行,即第一个元素首先添加,第二个元素在第一个元素完成后开始。但是使用线程,我的程序在添加第一个元素后不需要等待添加第二个元素。这应该会带来更好的表现吗?
PS:我将数组视为向量。因此。 [1,2,3,4] + [1,3,5,7] = [2,4,8,11]
答案 0 :(得分:1)
添加数组是什么意思?如同连接它们一样?类似的东西:[a,b,c,d] + [e,f,g] = [a,b,c,d,e,f,g]?
如果是这样,那么你可以使用多个线程来做到这一点。但是,这样做只有在谈论非常大的数组或大量数组时才有用。
始终存在与并发性相关的性能开销。
答案 1 :(得分:1)
是。您刚刚设计了介绍性parallel
算法。
我刚从一本CUDA书中读到了一个像你这样的例子。 :-D
答案 2 :(得分:1)
你是对的,这可以并行完成。这也是一项相当简单的任务。这只是将数组分成相等的部分并将每个部分分配给一个线程的问题。对于使用CUDA或OpenCL的GPU来说,这也是一个合适的任务。
然而,这增加了复杂性,并且只有在阵列相当庞大时才能提供更好的性能。除非你确定这是你程序中的性能瓶颈,否则我不会费心去做。