TThread и обмен данными между потоками

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

TThread и обмен данными между потоками

Сообщение Vadim »

В MPI обмен данными между процессами и синхронизация данных в принципе понятное дело, а вот как такое-же организовать между несколькими TThread? Т.е. передача данных другому потоку (типа MPI_Send), приём данных с другого потока (MPI_Recv), синхронизация (MPI_Barrier, MPI_Reduce)...
wadman
постоялец
Сообщения: 122
Зарегистрирован: 18.10.2016 14:54:28
Контактная информация:

Сообщение wadman »

Сообщения + критические секции + ивенты.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

wadman писал(а):Сообщения + критические секции + ивенты.

А есть в сети какие-нибудь практические примеры?
wadman
постоялец
Сообщения: 122
Зарегистрирован: 18.10.2016 14:54:28
Контактная информация:

Сообщение wadman »

Полно. Даже мой модуль тот же. https://github.com/wadman/wthread
Но там много всего, для новичка покажется кашей.
olegy123
долгожитель
Сообщения: 1643
Зарегистрирован: 25.02.2016 11:10:20

Сообщение olegy123 »

Атомарность между главным потоком и Thread достигается через Synchronize
А между обычными потоками - паскале есть uses SyncObj;

Добавлено спустя 4 минуты 17 секунд:
Vadim писал(а):А есть в сети какие-нибудь практические примеры?

В сети про это много описаны и разжеванны с картинками..
Delphi многопоточное программирование.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

olegy123 писал(а):А между обычными потоками - паскале есть uses SyncObj;

Ага, syncobj - это, похоже, то что нужно. Поработаю с ним, спасибо!
Ответить