Bonjour,
Je cherche à faire une synchronisation sur une liste en delphi.net.
Je peux avoir deux threads différent qui accède la même liste et je voulais savoir comment je pouvais le faire (genre semaphore) mais je sais pas en delphi.net.
Merci
Bonjour,
Je cherche à faire une synchronisation sur une liste en delphi.net.
Je peux avoir deux threads différent qui accède la même liste et je voulais savoir comment je pouvais le faire (genre semaphore) mais je sais pas en delphi.net.
Merci
Regarde si la TThreadList existe en .NET, elle est fait pour ça !
Sinon, TCriticalSection
Ce sont des objets VCL, j'ignore si il existe en Merdasse.NET
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Bonjour,
La chose qui semble le plus s'approcher de la TThreadList serait la classe ThreadPool du namespace System.Threading.
Bon après quoi qu'il en soit, il faut aller farfouiller à l'intérieur de ce namespace pour trouver ce que tu cherches car tout ce qui se rapporte aux Threads est à l'intérieur.
un ThreadPool,c'est pour gérer un ensembe de thread, c'est un peu lourd pour gérer par pour la communication inter-thread via un FIFO
Il te faudrait surcharger une "System.Collections.ArrayList" et utilisé le mot clé lock ou par la classe System.Threading.Semaphore
Quel est donc bien l'intérêt de Delphi.NET si on peut pas avoir un Borland.SyncObjs.TThreadList qui encapsule la merdasse.NET, ... je ne pensais pas que Delphi.NET était aussi éloigné de Delphi Win32 ... c'est vraiement apprendre un nouveau langage ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
En effet le thread pool me sert à rien dans mon cas ...
La classe System.Threading.Semaphore, je n'ai pas trouvé dans delphi.net (2006) mais il y a le System.Threading.ReaderWriterLock qui a l'air pas mal !
Tu as tout à fait le droit de ne pas apprécier .NET, mais n'en dégoûte pas les autresEnvoyé par ShaiLeTroll
![]()
Tutoriels Delphi Win32/Delphi .NET/Oracle/PowerShell - FAQ Delphi - FAQ Delphi .NET
Beatus, qui prodest, quibus potest.
Je suis tout à fait d'accord, surtout que c'est pas parce que c'est microsoft que sa doit forcément être de la m....
Il y a quand même des points positifs et négatif comme partout !!
Par contre je suis pas sûr que le delphi soit une bonne chose mais bon il fallait bien qu'ils se mettent au goût du jour... Pour ma part j'aurais préféré faire en C# mais je n'avais pas trops le choix![]()
Désolé, pour moi faire du .NET avec du Delphi est une hérésie !
Oh ce n'est pas parce que MicroSoft, c'est juste que je n'aime pas ce concept d'assistanat de développeur qu'introduit le .NET sans la réelle efficience du mutli-plateforme via cocoa# ou mono, alors que Java le fait déjà depuis bien longtemps ... j'ai du faire des objets COM pour de l'inter-opérabilité avec des partenaires en .NET, il n'était même pas capable de me fournir leur convention d'appel qui est safecall, ce qui influe sur la manière de créer ses fonctions dans l'éditer de TLB de Delphi 7, et à chaque fois que j'ai travaillé avec des collaborateurs en .NET, que ce soit en COM ou en WebService, ils utilisent une tétra-chier de produit MS avec lesquels, il est très difficile de communiquer sans disposer soit même du FrameWork ... c'est comme si les développeurs avaient oubliés comment il faisait il y a encore quelques années c'est à dire qu'avec un trombone on faisait décoler une fusée alors que maintenant avec un semi-remorque c'est à peine si l'on peut expédier une épingle ...
Entièrement d'accord, quite à apprendre le Framework .NET autant le faire avec un langage nativement étuidié pour !
Vous noterez que j'ai argumenté toutes mes propositions avec la MSDN, si je ne fait pas de C# ou de Delphi.NET, je sais quand même m'y retrouver car je tiens à me tenir au courant de cet outil qui pourrait me servir un jour dans ma carrière ...
Sinon pour en revenir au sujet, ce System.Threading.ReaderWriterLock doit être l'équivalent du TMultiReadExclusiveWriteSynchronizer de Delphi
Pour System.Threading.Semaphore apparait en Visual Studio 2005/.NET Framework 2.0, Delphi 2006 est en 1.1, il faut passer à Delphi 2007 pour le 2.0 ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Je ne suis pas un admirateur de .net (je me tiens aussi au courant des nouvelles tendances) mais je tiens à dire que l'on peut quand même apprécier l'assistance au développeur en général (se qui est déjà fait par des librairies qui évitent de devoir réinventer la roue à chaque fois (merci au langage Orienté Objet) et aussi par les interfaces graphiques de MS qui permettent aussi de faciliter l'accès/gestion base de donnée et création de UI).
Est le .net contrairement à Java est de rendre ou essayé de rendre différent langage compatible entre eux autour d'un même framework. Java fais du multi-plateforme mais avec le même langage!
Partager