Продолжаем выкладывать видеозаписи курсов Computer Science клуба при ПОМИ РАН. Первая часть здесь. В этой подборке четыре курса: «Коммуникационная сложность», «Экспандеры и их применения», «Машинный перевод» и «Избранные главы теории потоков».
Читать полностью »
Рубрика «потоки» - 2
Курсы Computer Science клуба, весна 2017, часть вторая
2017-05-30 в 16:36, admin, рубрики: Алгоритмы, Блог компании СПБАУ, коммуникационная сложность, математика, машинное обучение, машинный перевод, потоки, теория графов, теория сложности, экспандеры, метки: экспандерыПотоки выполнения и PHP
2017-05-25 в 16:22, admin, рубрики: php, pthreads, Анализ и проектирование систем, Блог компании Mail.Ru Group, высокая производительность, никто не читает теги, параллельное программирование, потоки
PHP и потоки выполнения (threads). Предложение всего лишь из четырёх слов, а по этой теме можно написать книгу. Как обычно, я не буду так делать, зато дам вам информацию, чтобы вы стали разбираться в предмете до определённой степени.
Начнём с путаницы, которая есть в головах у некоторых программистов. PHP — это не многопоточный язык. Внутри самого PHP не используются потоки выполнения, и PHP не даёт возможности пользовательскому коду нативно использовать их в качестве механизма параллелизации.
PHP очень далёк от других технологий. Например, в Java очень активно используются потоки выполнения, ещё они могут встречаться в пользовательских программах. В PHP такого нет. И тому есть причины.
Потокобезопасные сигналы, которыми действительно удобно пользоваться
2016-03-22 в 8:06, admin, рубрики: c++, signals, threading, потоки, Программирование В мире существует множество библиотек, реализующих сигналы в C++. К сожалению, у всех реализаций, с которыми я сталкивался, есть несколько проблем, которые не позволяют писать простой многопоточный код с использованием этих библиотек. Здесь я расскажу об этих проблемах, и о том, как их можно решить.
Читать полностью »
2.2 Потоки
2016-03-19 в 15:12, admin, рубрики: c++, game development, SFML, Локализация продуктов, параллельное программирование, потоки, Программирование, С++, урок
От переводчика: данная статья является третьей в цикле переводов официального руководства по библиотеке SFML. Прошлую статью можно найти тут. Данный цикл статей ставит своей целью предоставить людям, не знающим язык оригинала, возможность ознакомится с этой библиотекой. SFML — это простая и кроссплатформенная мультимедиа библиотека. SFML обеспечивает простой интерфейс для разработки игр и прочих мультимедийных приложений. Оригинальную статью можно найти тут. Начнем.
Читать полностью »
Posix threads
2015-01-23 в 10:14, admin, рубрики: параллельное программирование, потоки, потокобезопасность
Рано или поздно любой программист в своей жизни встречается с многопоточностью.
Многопоточность – это свойство алгоритма распаралеливатся, т.е. выполнять операции некими вычислителями независимо друг от друга.
Самый простой пример — это программирование GUI. GUI всегда должен быть отрисован, вне зависимости от того, что делается в программе. Например, loading screen – он всего лишь показывает прогресс, по мере загрузки ресурсов. И выглядит это примерно так:
Для решения подобных задач используются потоки (threads). Почти каждый язык программирования содержит свой wrapper над потоками ОС, или реализует свои потоки (привет, велосипед). На Хабре есть довольно много статей про потоки, например, «Что такое нити (threads)?» или «Многопоточность в Java». В общем, поиск в помощь. Но эта статья будет отличатся тем, что здесь будут рассмотрены нативные потоки ОС – POSIX threads.
Читать полностью »
Нет никакого потока
2014-12-17 в 10:13, admin, рубрики: .net, overlapped i/o, асинхронное программирование, асинхронность, потоки, Программирование, разработкаВажная правда об асинхронности в своей первозданной форме: нет никакого потока.
Тех, кто возразит, несть числа. «Нет», кричат они, «если я ожидаю операцию, должен быть поток, в котором выполняется ожидание! Возможно это поток из пула. Или поток операционной системы! Или что-то, связанное с драйвером устройства...»
Не влемлем этим крикам. Если операция по-настоящему асинхронная, то никакого потока нет.
Скептики не убеждены. Высмеем же их.
Читать полностью »
Как работает GIL в Ruby. Часть 3. Делает ли GIL ваш код потоко-безопасным?
2014-07-23 в 8:26, admin, рубрики: GIL, ruby, многопоточное программирование, многопоточность, параллельное программирование, потоки
Переводы предыдущих двух частей:
Первая часть
Вторая часть
Это статья Jesse Storimer. Он выступает на семинаре Unix fu, онлайн классе для Ruby-разработчиков, которые хотят научиться удивительным хакам в Ruby и повысить свой уровень в разработке серверного стека. Количество участников ограничено, так что поторопитесь, пока есть свободные места. Так же, он является автором книг «Работа с Unix процессами», «Работа с TCP сокетами» и «Работа с потоками в Ruby».
В Ruby-сообществе существуют некоторые заблуждения относительно GIL в MRI-реализации интерпретатора. Если вы хотите узнать ответ на главный вопрос этой статьи, без ее прочтения, то вот он: GIL не делает ваш код на Ruby потоко-безопасным.
Но вы не должны принимать мои слова на веру.
Читать полностью »
Кооперативные потоки с нуля в 33 линии на Хаскеле
2013-10-09 в 6:04, admin, рубрики: haskell, monad transformer, threads, yield, монады, потоки, Совершенный код, функциональное программирование Хаскель отличает себя от большинства функциональных языков тем, что имеет глубокие культурные корни из области математики и информатики, которые дают обманчивое впечатление, что Хаскель плохо подходит для решения практических задач. Однако, чем больше вы знаете Хаскель, тем больше вы цените то, что теория часто является наиболее практическим решением многих общих проблем программирования. Этой статьёй хочется подчеркнуть эту точку зрения тем, что мы смешаем имеющиеся в наличии теоретические основы и создадим чистую пользовательскую систему потоков.
Читать полностью »
PHP IPC — Межпроцессное взаимодействие в PHP
2013-09-10 в 23:26, admin, рубрики: IPC, php, pthreads, виртуальная память, межпроцессное взаимодействие, многопоточность, потоки, семафоры, метки: ipc, PHP, pthreads, Виртуальная память, межпроцессное взаимодействие, многопоточность, потоки, семафорыЦелью данной заметки является ознакомление PHP-разработчиков с возможностями межпроцессного взаимодействия в данном языке. Заметка не предполагает во всех деталях рассказать о каждой из возможностей, деталях реализации или показать рабочие примеры кода.
Поскольку задача распараллеливания рано или поздно появляется у любого программиста, то данная заметка была задумана отправной точкой, с которой можно начать своё путешествие в мир увлекательного геморроя процесса построения таких систем.
Потоки, блокировки и условные переменные в C++11 [Часть 2]
2013-06-08 в 18:41, admin, рубрики: c++, c++11, condition variables, deadlocks, locks, Mutex, threads, windows, блокировки, взаимоблокировки, все равно никто не читает метки, мьютекс, потоки, Программирование, условные переменные, метки: c++, c++11, condition variables, deadlocks, locks, mutex, threads, блокировки, взаимоблокировки, все равно никто не читает метки, мьютекс, потоки, условные переменные Для более полного понимания этой статьи, рекомендуется прочитать ее первую часть, где основное внимание было уделено потокам и блокировкам, в ней объяснено много моментов (терминов, функций и т.д.), которые без пояснения будут использованы здесь.
В данной статье будут рассмотрены условные переменные… Читать полностью »