Как я начинаю использовать программирование мультипотока?

Я испытал Комодо немного, и мне действительно нравится он до сих пор. Aptana, вариант Eclipse, также довольно полезен для большого разнообразия вещей. Всегда существует хороший ole' VI, также!

12
задан Peter Mortensen 10 November 2009 в 12:11
поделиться

11 ответов

Study regarding pthread, mutexes and try to implement same that will be beneficial for you.

http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html

8
ответ дан 2 December 2019 в 18:19
поделиться

Если вы хотите изучить подробности, попробуйте прочитать Расширенное программирование в среде UNIX . или начните с Компьютерные системы: взгляд программиста .

0
ответ дан 2 December 2019 в 18:19
поделиться

Learning multi threading programming has two parts:

  1. How to write multi threading applications
  2. How to use the available API (pthread)

Learning multi-threaded programming is harder, thre's a good article published in the Linux Journal that will help you understand the basic principles.

To better understand pThreads I suggest reading this tutorial - POSIX Threads Programming

There is also a good book by O'rielly called PThreads Programming

8
ответ дан 2 December 2019 в 18:19
поделиться

Может быть, немного спорный, но на самом деле Многопоточность cklicked для меня, когда я пытался решить загадку кодирования один раз.

Загадка заключалась в написании поточно-безопасного кода без использования мьютексов. Мои первые попытки были неудачными, но когда я наконец получил это, это было похоже на обучение катанию на велосипеде - с тех пор я никогда не чувствовал себя неуверенным в параллелизме.

Иногда я даже наткнулся на программистов, которые читали книги по субъект, но не понимает простых вещей, таких как тот факт, что примитивное присваивание иногда не может быть атомарной операцией.

0
ответ дан 2 December 2019 в 18:19
поделиться

Если вы только начинаете работать с многопоточностью, я бы посоветовал сначала изучить и лучше понять ввод-вывод в вашей системе. Разберитесь с блокирующим и неблокирующим вводом-выводом, сигнализацией, асинхронными подпрограммами, обратными вызовами и так далее. Ввод-вывод, вероятно, является одной, если не основной, причиной добавления многопоточности в ваши программы. Обладая этими знаниями, вы можете взять книгу о потоках pthreads или java, или сосредоточиться на библиотеке потоков Boost или другой библиотеке потоков для вашей любимой технологии.

2
ответ дан 2 December 2019 в 18:19
поделиться

Все зависит от ваших целей. Существует множество кода и статей с общими проблемами многопоточности, решенными на основе фреймворка потоков POSIX (я вижу здесь ряд рекомендаций хороших статей). Главный вопрос - что вы хотите построить. Для некоторых задач вообще не рекомендуется использовать многопоточность.

Вот книга « Основы многопоточного, параллельного и распределенного программирования », которая относится к обсуждаемой теме и которую я бы хотел рекомендовать. Самым значительным преимуществом этого метода является «относительно легко читаемый» стиль, но без жесткой привязки к идеологии потоков POSIX (что является общей проблемой).

0
ответ дан 2 December 2019 в 18:19
поделиться

I think that the Wikipedia article Multithreading give you a quick overview and by following the external links you'll get a good overview of the topic. After that - or additionally - you could read Tanenbaum's Operating Systems: Design and Implementation (great book by the way). But the most important thing is - in my opinion - to get your hands on it. So just download a sample application from... let's say The Code Project or whatever website you'll find and play around with it. See how the application differs if you use locks or what happens if two threads try to access the same resource and how often this will occur, etc. By that I think you'll get the hang of it pretty quickly. And it's fun to evaluate and play around with techniques that are new to oneself.

1
ответ дан 2 December 2019 в 18:19
поделиться

Еще кое-что, что можно попробовать: http://www.threadingbuildingblocks.org

0
ответ дан 2 December 2019 в 18:19
поделиться

Изучение различных библиотечных структур и средств операционной системы - хороший способ понять низкоуровневый параллелизм. Примеры, которые вы найдете там, могут помочь вам начать писать параллельный код за короткий промежуток времени.

После того, как вы отладите свой путь через несколько тупиковых ситуаций и проблемы с повреждением общей памяти, вы обнаружите, что вам нужны некоторые инструменты для анализа и декомпозиции вашего проблемы параллелизма. Мне лично нравится Херб Саттер ' s The Pillars of Concurrency статья в качестве отправной точки. Идея состоит в том, чтобы лучше понять, зачем вам нужен параллелизм. Вы ищете улучшенное время отклика, параллельные вычисления или комбинацию причин?

Понимание «почему» приведет вас к более точному «что». Оттуда вы всегда можете перейти к различным низкоуровневым подходам: Активные объекты , контролировать объекты , передача сообщений , и т. Д. . Как вы сказали, в этой области есть что знать.

Оттуда вы всегда можете перейти к различным низкоуровневым подходам: Активные объекты , контролировать объекты , передача сообщений , и т. Д. . Как вы сказали, в этой области нужно много знать.

Оттуда вы всегда можете перейти к различным низкоуровневым подходам: Активные объекты , контролировать объекты , передача сообщений , и т. Д. . Как вы сказали, в этой области нужно много знать.

0
ответ дан 2 December 2019 в 18:19
поделиться

, поскольку это UNIX, почему бы не начать с процессов и IPC-связи? то есть очереди сообщений, разделяемая память и мьютексы.

0
ответ дан 2 December 2019 в 18:19
поделиться

Я нашел этот учебник очень информативным и четко написанным. Надеюсь, это поможет.

1
ответ дан 2 December 2019 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: