[C#2005] Comment utiliser le multithreading
Bonjour,
J'ai écumé le net sur l'utilisation des mulithreads mais je ne saisi pas bien encore son fonctionnement. Donc voici le contexte. J'ai une appli qui fait un traitement qui fige complètement ma fenêtre principale donc je me suis dis que je vais utiliser un autre thread pour effectuer ce traitement. Dans mon thread principal j'ai fais ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public partial class frmLauncherBo : Form
{
private Thread _threadTraitement;
public frmLauncherBo()
{
InitializeComponent();
}
private void btnProcess_Click(object sender, EventArgs e)
{
StartThread();
//TraitementDoc();
}
private void StartThread()
{
//TraitementDoc est la fonction exécutée par le thread
_threadTraitement = new Thread(new ThreadStart(TraitementDoc));
//On nomme le thread pas obligatoire
_threadTraitement.Name = "Traitement_doc_bo";
//Démarrage du thread
_threadTraitement.Start();
} |
et lors de l'exécution j'ai le message suivant:
Citation:
Opération inter-threads non valide: le contrôle 'frmLauncherBo' a fait l'objet d'un accès d'un thread autre que celui sur lequel il a été créé.
Alors je pense que j'ai du mal déclaré mon thread mais je ne sais pas comment.
Faut-il créer une classe à part et l'appeler depuis mon form principal. Je précise que mon form principal s'appelle frmLauncherBo.