multithreader une bibliothèque ? - C - Programmation
Marsh Posté le 14-04-2008 à 14:46:13
bah déjà va falloir voir à vérifier que toutes fonctions sont bien thread safe et n'utilise pas de fonctions de la la libc qui elles ne le sont pas.
Aprés, il est de bon ton de séparer l'interface public qui av appeler les bouts strictement multi-threads.
Marsh Posté le 14-04-2008 à 13:55:09
Je suis en train de designer une bibliothèque, et pour des raisons de perf j'aimerais multithreader mon code. Les threads (pthreads) ne seront pas visibles de l'extérieur de la bibliothèque ; il seront simplement crées et utilisés en interne et de manière transparente, quand une fonction de ma lib est appelée (un appel de fonction de ma lib créera plusieurs threads pour mener à bien le travail demandé).
D'après vous est-ce que ça peut poser problème de multithreader ainsi ma lib ? Evidemment ça force tous les utilisateurs de ma lib à se linker avec la libpthreads, ce qui a quelques effets de bords (errno devient une macro par exemple, mais ça change aussi plein d'autres trucs). J'imagine que dans certains cas ça peut poser problème, mais je ne vois pas trop. Des idées ?
Edit : la question se pose aussi si quelqu'un décide d'utiliser ma lib depuis un programme Java par exemple, à travers JNI. Est-ce qu'on peut utiliser en Java une lib C linkée avec la libpthreads ?
Message édité par matafan le 14-04-2008 à 13:59:45