>Многопоточное программирование есть и замечательно работает, и мало чем отличается от оного
>в C, с точки зрения обработки исключений в том числе; работает
>во всех системах, где есть posix-совместимые потоки, из своего опыта могу
>сказать что во FreeBSD, Linux и Solaris все работает одинаково. А Windows/Symbian?
Мои скрипты на python одинаково работают на Linux/Solaris/Windows без единой правки под конкретную платформу и хаков внутри скрипта.
Можете показать простейшую многопоточную вещь на perl, где главный поток кормит job'ми пул потоков?
>Ну это уж совсем детские вопросы. Скажите честно, зачем вам? Вы на
>perl, судя по всему, ничего не писали и не собираетесь.
к сожалению, иногда приходится писать =(
>если собираетесь, есть более вменяемые источники документации. Keywords: DBI, DBIx::Class, Class::DBI,
>Rose::DB:Object, SPOPS, Tangram, mod_perl, Apache::DBI.
за кейворды - спасибо. но что тут делает mod_perl? А как дела с использованием одного пула соединений к БД из разных потоков?
>> Насколько сложно интегрировать C/C++ с perl?
>Посмотрите любой биндинг к C/C++ библиотеке, вопросы отпадут. Я, честно, ничего более
>удобного не видел.
Ба!
$ cat c_source.c
#include <stdio.h>
#include <string.h>
unsigned int ELFHash (char *str, unsigned int len)
{
unsigned int hash = 0;
unsigned int x = 0;
for (unsigned int i = 0; i < len; str++, i++) {
hash = (hash << 4) + (unsigned char)(*str);
if ((x = hash & 0xF0000000L) != 0) {
hash ^= (x >> 24);
hash &= ~x;
}
}
return hash;
}
$ gcc -O2 -shared -fPIC c_source.c -o hashes.so
$ cat ctypes_demo.py
#!/usr/bin/python
import os,sys
from ctypes import *
chash=CDLL("./hashes.so")
chash.ELFHash.restype=c_uint
line='test of hash functions'
print chash.RSHash(line,len(line))
$ ./ctypes_demo.py
1493074318
Айда показать такое же? Особенно на windows.
Ну и тяжелая артиллерия: http://tilarids.blogspot.com/2008/08/boost-python.html