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