а к какого рода структурам данных нужен общий доступ и вообще всякое SMP? Потому что кое-какие решения есть, например, shared memory, к которой имеют доступ несколько процессов, если нужно что-то простое, типа bigarray.
В моем случае нужны две вещи: 1. Параллельно обработать разные слегка пересекающиеся части картинки (массив байтов или интов), иногда синхронизируясь через семафоры. 2. Уметь передать мой колбэк COM-библиотеке, так чтобы она могла его вызывать из другого потока того же процесса, причем поток создает она сама, я им не управляю.
Пункт 2 сам по себе не требует smp, и в 4.00 появился caml_register_thread для "чужих" потоков, так что это теперь делается. Пункт 1 решается форками+bigarray, если есть желание.
У меня основная таргет-платформа - винда, там форки дорогие, да и версию 4.0 еще недавно было сложно заиметь. Но в целом, да, при должных усилиях наверное все решается.
no subject
Date: 2013-01-26 07:54 am (UTC)no subject
Date: 2013-01-26 11:53 am (UTC)no subject
Date: 2013-01-26 12:27 pm (UTC)1. Параллельно обработать разные слегка пересекающиеся части картинки (массив байтов или интов), иногда синхронизируясь через семафоры.
2. Уметь передать мой колбэк COM-библиотеке, так чтобы она могла его вызывать из другого потока того же процесса, причем поток создает она сама, я им не управляю.
no subject
Date: 2013-01-27 12:11 pm (UTC)no subject
Date: 2013-01-28 03:49 am (UTC)