我可以同时执行两个功能吗?

Dut*_*man 5 c parallel-processing performance

我是编程新手.我知道计算机按照给出的顺序执行指令.

我正在学习C,我写了这个:

#include <stdlib.h>
#include <stdio.h>

int comp(const char *a, const char *b) {
  return *a - *b;
}

int main() {
  char str[] = "Hello, world! I'm learning C and it's awesome!";
  qsort(str, sizeof(str) - 1, sizeof(char), comp); // -1 because of NUL-terminator.
  puts(str);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我想对多个非常大的数组进行排序时,这可能需要一段时间.我的计算机有多个处理核心,所以我想利用它.那可能吗?代码可以并行运行,我该怎么做?


PS我知道我必须在优化之前对代码进行分析,但是现在假设这是一个非常慢的操作.

Ada*_*ras 5

您正在寻找的是线程.Internet上有很多资源和教程可以帮助您开始并行化代码.