Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.16.147.124] |
|
Сообщ.
#1
,
|
|
|
Подскажите плиз где и что можно почитать про многопоточность в никсах? Знания темы имеются, хотелось бы как раз про реализацию.
Заранее спасибо. |
Сообщ.
#2
,
|
|
|
Ищи информацию по pthreads.
|
Сообщ.
#3
,
|
|
|
Garret, а что конкретно тебя интересует?
|
Сообщ.
#4
,
|
|
|
реализация на уровне ядра(тогда называй конкретную версию ядра)? готовая либа?
|
Сообщ.
#5
,
|
|
|
Цитата dnk @ Эх, с моими знаниями на уровне ядра Либа конечно, должна же быть такая?реализация на уровне ядра(тогда называй конкретную версию ядра)? готовая либа? Цитата Flex Ferrum @ Интересует статья где будет написано "Юзаете готовый класс CSuperThreads, запускаете поток myThhred.start()" и что то про синхронизацию, если там что то особенное. Хотелось бы основные сведенья и простейшую реализацию с примерами. Garret, а что конкретно тебя интересует? |
Сообщ.
#6
,
|
|
|
Тогда посмотри здесь: boost::threads. Вообщем то, примерно то, что тебе надо.
|
Сообщ.
#7
,
|
|
|
Можно почитать книжку Advanced Linux Programming, там есть глава про потоки.
|
Сообщ.
#8
,
|
|
|
Цитата Flex Ferrum @ Буст кроссплатформенная библиотека? Спасибо Тогда посмотри здесь Цитата mo3r @ Спасибо, не мог найти нормальной книги Можно почитать книжку Advanced Linux Programming, там есть глава про потоки. |
Сообщ.
#9
,
|
|
|
Цитата Garret @ Спасибо, не мог найти нормальной книги Только там в одном место говорится о том, как потоки реализованы, это читать не надо, там информация устаревшая |
Сообщ.
#10
,
|
|
|
Попробовал с Линуховым pthreads, вот самый простой код:
#include <stdio.h> #include <pthread.h> void* print_xs(void* unused) { while (1) fputc('x', stderr); return NULL; } int main() { pthread_t thread_id; pthread_create(&thread_id, NULL, &print_xs, NULL); while (1) fputc('o', stderr); return 0; } Вылетает ошибка "undefined reference to 'pthread_create'". WTF? |
Сообщ.
#11
,
|
|
|
Цитата Garret @ WTF? При компиляции/линковке надо указать ключик -lmt (если я не ошибаюсь). В man'е должно быть написано. |
Сообщ.
#12
,
|
|
|
Нет, нужен ключ -lpthread
|