Как я могу сделать многозадачность в C или переполнение стека

Например, возьмем пример программы, которая вычисляет время, необходимое для ввода абзаца, и отображает время, которое вы потратили (в конце). Здесь наша программа одновременно выполняет две задачи:
1. Ожидание ввода пользователем (с вводом).
2. Часы отсчитывают прошедшее время.

Как я могу выполнить обе задачи во время выполнения (одновременно).
[ ХОРОШО ! Вы можете подумать о вычитании финала & начальное время, которое мы можем получить по системе, но я хочу, чтобы многозадачность состоялась.]

Я много пробовал искать стандартные функции библиотеки, но ни одна из них не делала этого.
Я думаю, что единственный способ реализовать многозадачность — это умный алгоритм программы, который выполняет множество задач одновременно и эффективно. Я ошибся ?

0

Решение

В C ++ 11 вы можете использовать std::thread что, конечно, является частью стандарта.

Это не будет работать, если вы используете C или более старые c ++ компиляторы.

Альтернатива повышение :: нить

1

Другие решения

Возможно многопоточность. использование Pthreads.

[Хотя, в твоем примере это не нужно. Просто

int time = getTime();
// run program
int endTime = getTime();
printf("%d\n", endTime - time);

]

3

По вопросам рекламы [email protected]