PureBasic

Forums PureBasic
Nous sommes le Mar 18/Déc/2018 16:12

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 
Auteur Message
 Sujet du message: UserLib Thread-Safe
MessagePosté: Ven 27/Oct/2017 16:29 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6736
Localisation: IDF (Yvelines)
Finalement je ne sais plus ce que veut dire compiler une bibliothèque utilisateur avec le mode Thread-Safe.

C'est le constat que je fais en lisant ce dernier commentaire de zaphod_b à propos de MiniLib.
zaphod_b a écrit:
3/ des libs qui fonctionnent en thread ou non (threadsafe)
et suite aussi à une discussion sur le chat de Purebasic avec Zorro.

J'avais comme définition qu'une compilation Thread-Safe permettait d'utiliser les routines thread-safe (Mutex Semaphore and co ...) dans une bibliothèque.

Ce qui veut dire aussi qu'un code appelant une bibliothèque utilisateur créer avec ce mode Thread-Safe pouvait fonctionner qu'avec une option de compilation Thread exclusivement.

PureBasic Aide a écrit:
...

-t, --thread, /THREAD: utilise les routines thread-safe pour toutes la gestion des chaînes de caractères et pour toutes les commandes.

...

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.45 LTS & PB 5.62
➽ Je papote aussi sur http://purebasic.chat & http://purebasic.chat/forum

➽ Restez informé Image Pure Basic Francophone Community

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: UserLib Thread-Safe
MessagePosté: Ven 27/Oct/2017 18:31 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 1930
tout ça c'est de la sémantique !

pour toi avec MLF seul compte le Flag de compilation /Thread

si une serie de Proceduredll doit etre utilisées dans des Threads alors tu position ce Flag point barre !

si une serie de proceduredll ne doivent pas utiliser de Thread, il ne faut pas positionner ce flag

si une serie de procedureDll doivent etre utilisé en mode Thread, et sans mode Thread

tu positionnes le Flag, et tu nommes tes procedures concerné avec "_Thread"
ET tu copie les meme procedures DLL SANS l'extention "_Thread"

voila comment je vois le truc (il me semble que tu le fait deja bien )


apres , il y a l'historique de Purebasic :

au debut, Purebasic n'avait pas la possibilité des Chaines infinie , une chaine ne devait pas dépasser une longueur
ce qui posait pas mal de probleme, surtout utilisé avec des Threads ... (dépassement de chaine courant )

mais depuis l'arrivée de la bibliothèque Thread de la Version 4.00
Fred a corrigé la longueur des Chaines, elles sont devenues "infinie"
et il a rendu les chaines "ThreadSafe" c'est a dire compatible a l'utilisation dans des Threads

avant ça c’était plantage systématique, et aléatoire .....
(nous utilisions deja les Thread, mais c'etait roulette russe avec les chaines)


bref le Terme "ThreadSafe " a été utilisé par Fred pour nous signaler que dorénavant les chaines ne posaient plus de problèmes
a etre utilisé dans les Threads ....


voila, je pense avoir été clair , en direct du grand livre d'histoire de Purebasic , sous couvert de ma mémoire défaillante


mais pour la petite histoire, le terme "ThreadSafe" signifie qu'un code est compatible (conçut pour) fonctionner avec des Threads

la présence de Mutex et autre Flag du meme genre, n'entre pas en compte la dedans, puisqu'on peut
Threader sans Mutex , ou autre Drapeau ..
car ce n'est pas une obligation

la seul obligation du point de vue code, c'est la présence du Flag "/Thread"
au moment de la compilation :)

_________________
Image
Image
Site: http://stline.ddns.net/STLINE/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: UserLib Thread-Safe
MessagePosté: Sam 28/Oct/2017 15:34 
Hors ligne

Inscription: Sam 23/Fév/2008 17:58
Messages: 537
Bonjours à Tous

Je suis d'accord avec Zorro.

A la suite de la discussion avec G-rom j'ai repris mes notes car avec l'age si l'on ne pratique pas souvent on oublie.
et la programmation mutithread n'est pas quotidienne même pas annuelle alors ...
Le multithrad est est assez compliqué et les divers conflits sont nombreux. les solutions pour les résoudre sont elles aussi nombreuses et certaines difficiles à trouver et à mettre en œuvre.
C'est pourquoi ce que propose Zorro est correct. c'est surtout au concepteur de se débrouiller.

et merci encore à falsam pour le produit MLF.

A+

_________________
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye