Thread en c#

Fermé
dahooo2 Messages postés 1 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 3 janvier 2008 - 3 janv. 2008 à 16:56
steve87 Messages postés 56 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 1 janvier 2011 - 17 déc. 2008 à 15:32
Bonjour,
J’ai trouvé sur le net un tuto c# sur les threads, mais il ne semble pas fonctionner. Il compile, mais au lancement, il y a une erreur qui dit que mon thread essaye de modifier un objet qui n'a pas été créée dans ce thread (c'est pourtant bien ce que je souhaite faire).
L'url du tuto : https://csharpro.developpez.com/page9.php
Quelqu'un voit-il un problème dans ce code?
Dois-je utiliser des délégués?

Merci beaucoup,

David.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;

namespace WindowsApplication1
{

  public partial class Form1 : Form
  {
    private int ti, tj;

    public Form1()
    {
      InitializeComponent();
    }


    private void Form1_Load(object sender, EventArgs e)
    {
      Thread t1, t2;

      ti = 0;
      tj = 0;
      t1 = new Thread(new ThreadStart(implemente_ti));
      t1.Start();

      t2 = new Thread(new ThreadStart(implemente_tj));
      t2.Start();
    }

    private void implemente_ti()
    {
      ti++;
      this.textBox2.AppendText("\r\n" + ti.ToString());
      if (ti <= 10000)
        implemente_ti();
    }

    private void implemente_tj()
    {
      tj++;
      textBox3.AppendText("\r\n" + tj.ToString());
      if (tj <= 10000)
        implemente_tj();
    }
  }
}

2 réponses

steve87 Messages postés 56 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 1 janvier 2011 6
17 déc. 2008 à 15:32
Essai de déclarer le thread en de or de la classe :

private void Form1_Load(object sender, EventArgs e)
0
eee.eee Messages postés 69 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 15 septembre 2009 20
12 janv. 2008 à 15:09
Essaye de changer private int ti, tj; en public int ti, tj;
-1