На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Потоки
    Подскажите плиз где и что можно почитать про многопоточность в никсах? Знания темы имеются, хотелось бы как раз про реализацию.

    Заранее спасибо.
      Ищи информацию по pthreads.
        Garret, а что конкретно тебя интересует?
          реализация на уровне ядра(тогда называй конкретную версию ядра)? готовая либа?
            Цитата dnk @
            реализация на уровне ядра(тогда называй конкретную версию ядра)? готовая либа?
            Эх, с моими знаниями на уровне ядра :) Либа конечно, должна же быть такая?

            Цитата Flex Ferrum @
            Garret, а что конкретно тебя интересует?
            Интересует статья где будет написано "Юзаете готовый класс CSuperThreads, запускаете поток myThhred.start()" и что то про синхронизацию, если там что то особенное. Хотелось бы основные сведенья и простейшую реализацию с примерами.
              Тогда посмотри здесь: boost::threads. Вообщем то, примерно то, что тебе надо.
                Можно почитать книжку Advanced Linux Programming, там есть глава про потоки.
                  Цитата Flex Ferrum @
                  Тогда посмотри здесь
                  Буст кроссплатформенная библиотека? Спасибо :)

                  Цитата mo3r @
                  Можно почитать книжку Advanced Linux Programming, там есть глава про потоки.
                  Спасибо, не мог найти нормальной книги :rolleyes:
                    Цитата Garret @
                    Спасибо, не мог найти нормальной книги :rolleyes:

                    Только там в одном место говорится о том, как потоки реализованы, это читать не надо, там информация устаревшая :)
                      Попробовал с Линуховым pthreads, вот самый простой код:

                      ExpandedWrap disabled
                        #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? :(
                        Цитата Garret @
                        WTF? :(

                        При компиляции/линковке надо указать ключик -lmt (если я не ошибаюсь). В man'е должно быть написано.
                          Нет, нужен ключ -lpthread
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0291 ]   [ 16 queries used ]   [ Generated: 27.04.24, 02:36 GMT ]