Junior — Middle
67
Что означает термин 'поток' в контексте POSIX стандартов?
Answer from AI
sobes.tech AI
В контексте POSIX термин "поток" (thread) означает наименьшую единицу выполнения в рамках процесса, которая может выполняться параллельно с другими потоками того же процесса. Потоки разделяют между собой память и ресурсы процесса, что позволяет эффективно выполнять многозадачность.
В POSIX-потоках (часто реализуемых через pthreads) каждый поток имеет свой стек, регистры и состояние, но совместно использует адресное пространство процесса. Это облегчает обмен данными между потоками, но требует синхронизации для предотвращения конфликтов.
Пример создания потока на C с использованием POSIX pthreads:
#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;
}
Таким образом, поток — это легковесный процесс, позволяющий выполнять несколько задач одновременно внутри одного процесса.