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

0

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

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

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

  • 0
    stackoverflow.com/questions/266168/...
  • 2
    Вы хотите получить ответ C или C ++? Правильные идиоматические ответы ОЧЕНЬ разные.
Показать ещё 4 комментария
Теги:
multitasking

2 ответа

0
Лучший ответ

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

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

Альтернативой является boost :: thread

  • 0
    В C11 есть thrd_t .
3

Возможно многопоточность. Используйте pthreads.

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

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

]

  • 3
    Почему бы не std :: thread?
  • 0
    @const_ref; Потому что в C нет std::thread
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню