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

标签 c performance parallel-processing

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

我正在学习 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;
}

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


附言我知道我必须在优化代码之前分析代码,但现在假设这是一个非常慢的操作。

最佳答案

您要找的是 threading . Internet 上有大量资源和教程可帮助您开始并行化代码。

关于我可以同时执行两个功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8299864/

相关文章:

c - OpenMP 并行代码较慢

c - 操作系统如何保证安全?

c - spoj ARRAYSUB : tried sliding window algorithm, 不接受

java - 使用 List 更新 SQL 数据库 - Java 和 MyBatis

sql - 带参数和不带参数的查询 -> 完全不同的执行时间

java - 在 Maven 上按顺序强制进行集成参数化测试

multithreading - 何时使用 Test&Set 或 Test&Test&Set?

c - bit_test() 函数的作用是什么?

c - Vigenere Cipher - 公式解释

performance - Elasticsearch must 子句比过滤器快