salut,
je cherche un livre (ou articles ) sur le temps réel C# ou le trading.
avez vous des pistes ?
Version imprimable
salut,
je cherche un livre (ou articles ) sur le temps réel C# ou le trading.
avez vous des pistes ?
Il est difficile de faire du temps réel en c# car il y a pas mal de chose que tu ne maitrise pas. Je te conseil de t'orienter vers du C/C++ pour du temps réel
A ma connaissance, il n'y a pas de version officielle de Windows / realtime ?
(je crois que la BNP ont des machines windows temps réel.... mais bon)
Pour faire du RT ne faut il pas que l'OS le soit ?
salut
Temps réel veut dire "noyau" Temps réel normalement
Hors, Windows n'est pas désigné pour faire du temps réel :)
Tu peux réussir à faire des choses qui seront "proches" du temps réels mais si tu veux faire du temps réel dur, il vaut bien basculer sur des OS Temps réel..
Soit s'est de l'OS propriétaire soit de l'OS basé sur linux. Me semble qu'il existe un linux RT (de mémoire).
Maintenant, si tu veux faire du "temps réel" avec une fréquence d'acquisition autour de 10 ms ou un poil plus, tu dois pouvoir t'en sortir avec Windows et C#.
Mais je me repète, un OS temps réel n'offre pas les mêmes comportement et fonctionnalités qu'un OS type Windows ou Mac OS... donc, à moins de spécifier d'avantage ton besoin, on ne pourra pas dire grand chose de plus !!!
En je pense que le multi threadism est proche du temps réel.
Un bon livre sur le multi threadism C# me conviendrait.
En fait je voudrai bosser dans le monde de la finance ( passage d'ordre , couverture) où il faut être tres bon en multi threadisme
C'est vrai qu'être très bon en multi-threaDING, c'est vraiment compliqué et important de nos jours :)
Bon ok, allez, je déconne.. le multi-threading, à utiliser, c'est vraiment très simple en terme de compréhension...
Tu prends le bouquin de Patrick Smacchia ou bien même, pleins de tutoriaux sur le net et tu verras la simplicité du multi-threading.
Je dis simple, car, il n'y a pas "beaucoup" d'aspects techniques à connaitre (savoir créer un thread, gérer l'interdépendance des ressources en thread, gérer les cas de blocage et de coopération entre thread (les mutex), les mécanismes synchrones...
L'énumération peut vraiment paraitre "longue", mais apprendre celà, c'est vraiment, vraiment pas compliqué si le Brain CPU dépasse les 120 :)
Après, si tu veux bosser dans la finance ou tu dis que le MT est très important (je veux bien le croire), tu peux peut-etre te faire les dents sur des cas concrets :)
A+
le multi threading n'est pas quelque chose de trivial non plus
déjà vu le nombre de classes du framework qui ne sont pas thread safe, ca oblige parfois à en modifier certaines
(un for each sur une collection pendant qu'un autre thread fait .add ca plante déjà)
après il y a des situations plus complexes à prendre en compte, au début d'un void, la propriété d'un objet peut avoir une valeur et un autre à la fin du void, donc dans certains cas enregistrer la valeur de départ en local, dans d'autres interdire la modification pendant ce traitement etc...
Je suis d'accords, les threads utilisés seuls sans synchro peuvent faire planter ou endommagé tes données. L'espace de noms System.Threading possède pas mal de classes telles que Mutex, Monitor etc.. Sans oublier le mot clef lock et les évènements de synchronosiation. Bref il y a pas mal d'outils te permettant d'éviter des "plantages" (je dirait plutôt l'altération de tes données critiques.
j'ajouterais que lock est plus sécurisant que monitor pour le meme effet, incluant un "try finally" au passage
et aussi le readerwriterlock (et le readerwriterlockslim du fx3.5) permettant dans certains cas plus de performances qu'avec un lock
la version 4.0 du framework apporte une exploitation directe des architecture multicoeur avec par exemple
Chaque tâche est alors basculer sur les coeurs disponibles.Code:
1
2 Parralel.For(mon delegate)
Très utile pour tous les problème de type Monte Carlo.