Функция CreateThread не выполняет никакого кода - PullRequest
0 голосов
/ 04 мая 2020

Хорошо, я работаю над консольным приложением C с использованием windows API. У меня есть некоторые функции, которые должны использовать некоторое время true l oop, поэтому я начал искать примеры потоков.

Я нашел пример CreateThread здесь: Использование потоков в C on Windows. Простой пример?

Я попробовал, и это сработало отлично. Однако на следующий день я не смог запустить потоки. Под «не удалось заставить их работать» я имею в виду, что они не запускали никаких функций.

(Моя программа включает в себя несколько исходных файлов и файлов заголовков, вызывая их в основном файле. c работает.)

Функции будут выглядеть примерно так:

void Function1() {
     while (1) {
         //Do stuff
     }
}

Вот мой код:

#include "main.h"
#include "Functions/Functions.h"

DWORD WINAPI ThreadFunc(LPVOID lpParam) {
    Function1();
    Function2();
    return 0;
}

int main() {
    HANDLE thread;
    thread = CreateThread(NULL, 0, ThreadFunc, NULL, 0, NULL);
    WaitForSingleObject(thread, INFINITE);
}

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

Технические: Visual Studio 2020 г cc версия: 9.2.0 Windows 10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...