Я уже довольно давно веду список языков-кандидатов на замену C/C++, сейчас там значатся: D http://www.digitalmars.com/d Go http://golang.org HaXe http://haxe.org Vala http://live.gnome.org/Vala Clay http://claylabs.com/clay Nimrod http://force7.de/nimrod/index.html Zimbu http://www.zimbu.org OOC http://docs.ooc-lang.org Brace http://sam.ai.ki/brace Rust http://www.rust-lang.org C2 http://www.c2lang.org SafeC http://chat-webcam-samuro.com/safe-c/start-en.html BitC http://www.bitc-lang.org Cyclone http://cyclone.thelanguage.org
а к какого рода структурам данных нужен общий доступ и вообще всякое SMP? Потому что кое-какие решения есть, например, shared memory, к которой имеют доступ несколько процессов, если нужно что-то простое, типа bigarray.
В моем случае нужны две вещи: 1. Параллельно обработать разные слегка пересекающиеся части картинки (массив байтов или интов), иногда синхронизируясь через семафоры. 2. Уметь передать мой колбэк COM-библиотеке, так чтобы она могла его вызывать из другого потока того же процесса, причем поток создает она сама, я им не управляю.
Пункт 2 сам по себе не требует smp, и в 4.00 появился caml_register_thread для "чужих" потоков, так что это теперь делается. Пункт 1 решается форками+bigarray, если есть желание.
У меня основная таргет-платформа - винда, там форки дорогие, да и версию 4.0 еще недавно было сложно заиметь. Но в целом, да, при должных усилиях наверное все решается.
no subject
D http://www.digitalmars.com/d
Go http://golang.org
HaXe http://haxe.org
Vala http://live.gnome.org/Vala
Clay http://claylabs.com/clay
Nimrod http://force7.de/nimrod/index.html
Zimbu http://www.zimbu.org
OOC http://docs.ooc-lang.org
Brace http://sam.ai.ki/brace
Rust http://www.rust-lang.org
C2 http://www.c2lang.org
SafeC http://chat-webcam-samuro.com/safe-c/start-en.html
BitC http://www.bitc-lang.org
Cyclone http://cyclone.thelanguage.org
no subject
no subject
no subject
no subject
1. Параллельно обработать разные слегка пересекающиеся части картинки (массив байтов или интов), иногда синхронизируясь через семафоры.
2. Уметь передать мой колбэк COM-библиотеке, так чтобы она могла его вызывать из другого потока того же процесса, причем поток создает она сама, я им не управляю.
no subject
(Anonymous) 2013-01-27 12:11 pm (UTC)(link)no subject