Sobes.tech
Back to questions
Junior — Middle
82

Какие методы для создания потоков есть в стандартных библиотеках программирования?

Companies where asked
ГК Адепт

Answer from AI

sobes.tech AI

В стандартных библиотеках C и C++ есть несколько способов создавать потоки (threads):

  • C (POSIX Threads, pthreads): В POSIX-системах (Linux, macOS) для работы с потоками используется библиотека pthread.h.
#include <pthread.h>
#include <stdio.h>

void* thread_func(void* arg) {
    printf("Hello from thread!\n");
    return NULL;
}

int main() {
    pthread_t thread;
    pthread_create(&thread, NULL, thread_func, NULL);
    pthread_join(thread, NULL);
    return 0;
}
  • C++11 и новее (std::thread): В стандарте C++11 появилась библиотека для потоков, которая упрощает создание и управление потоками.
#include <thread>
#include <iostream>

void thread_func() {
    std::cout << "Hello from thread!" << std::endl;
}

int main() {
    std::thread t(thread_func);
    t.join();
    return 0;
}

Таким образом, в C++ предпочтительно использовать std::thread, а в C — pthreads.