C# Thread

poruka: 4
|
čitano: 1.852
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
C# Thread
pitanje

Kako zaustavi Thread na neodređeno vrijeme i kasnije ga opet pokrenut, sad koristim suspend i resume i javlja mi warning, i zbog toga mi povremeno ne izlazi iz programa ispravno

 
0 0 hvala 0
16 godina
neaktivan
offline
RE: C# Thread
92% tinejđera sluša turbo folk. Ako si ti među onih 8% koji još uvijek slušaju pravu glazbu kopiraj si ovo u potpis.
17 godina
offline
RE: C# Thread
prihvaćeno rješenje
djuroo kaže...

Kako zaustavi Thread na neodređeno vrijeme i kasnije ga opet pokrenut, sad koristim suspend i resume i javlja mi warning, i zbog toga mi povremeno ne izlazi iz programa ispravno

 
Thread.Sleep(ms) i semafori.

 

Poruka je uređivana zadnji put uto 10.2.2009 22:49 (dado).
16 godina
neaktivan
offline
RE: C# Thread

Po novoj (khm) .Net specifikaciji to bi trebalo izgledati otprilike ovako.

 

public partial class Form1 : Form {

    private BackgroundWorker worker;

    public Form1() {

        InitializeComponent();

        worker = new BackgroundWorker();

        worker.WorkerSupportsCancellation = true;

        worker.WorkerReportsProgress = true;

        worker.DoWork += new DoWorkEventHandler(worker_DoWork);

        worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);

    }

    private void worker_ProgressChanged(object sender, ProgressChangedEventArgs e) {

        this.Text = this.BackColor.Name;    }

    private void worker_DoWork(object sender, DoWorkEventArgs e) {

        Random rnd = new Random(Environment.TickCount);

        while (worker.IsBusy) {

            if (worker.CancellationPending) break;

            Thread.Sleep(100);

            this.BackColor = Color.FromArgb(0xff, Color.FromArgb(rnd.Next(0, int.MaxValue)));

            worker.ReportProgress(0);

        }

    }

    private void button1_Click(object sender, EventArgs e) { worker.RunWorkerAsync(); }

    private void button2_Click(object sender, EventArgs e) { worker.CancelAsync(); }

}

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice