Avatar billede germann Nybegynder
16. februar 2004 - 15:43 Der er 1 kommentar og
1 løsning

Threads og synkronisering

Hej Alle,

Når jeg prøver at skrive til textboxen, så låser systemet. Nogle forslag.

Kasper


using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;
using System.Threading;
using System.Runtime.CompilerServices;

namespace SmartDeviceApplication5
{
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.MainMenu mainMenu1;
        public System.Windows.Forms.TextBox textBox1;
        Thread test;
        private ManualResetEvent allDone = new ManualResetEvent(true);

        public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            test = new Thread(new ThreadStart(proc));
            test.Start();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            base.Dispose( disposing );
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.mainMenu1 = new System.Windows.Forms.MainMenu();
            this.textBox1 = new System.Windows.Forms.TextBox();
            //
            // textBox1
            //
            this.textBox1.Location = new System.Drawing.Point(40, 64);
            this.textBox1.Multiline = true;
            this.textBox1.Size = new System.Drawing.Size(176, 56);
            this.textBox1.Text = "textBox1";
            //
            // Form1
            //
            this.Controls.Add(this.textBox1);
            this.Menu = this.mainMenu1;
            this.Text = "Form1";

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>

        static void Main()
        {
            Application.Run(new Form1());
        }


        public void proc()
        {
            while(true)
            {
                Monitor.Enter(textBox1);
                textBox1.Text = "Kasper";
                Monitor.Exit(textBox1);
            }

        }
    }
}
Avatar billede bearhugx Nybegynder
16. februar 2004 - 15:48 #1
Hmm.. ser ud til at dit spørgsmål er blevet oprettet to gange --- se http://www.eksperten.dk/spm/466058

Luk dette spørgsmål :-)

/bearhugx
Avatar billede germann Nybegynder
17. februar 2004 - 09:17 #2
jeg lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Netcompany A/S

Test Consultant

Ringkjøbing Landbobank – Nordjyske Bank

Forretningsudvikler til procesoptimering

Netcompany A/S

Linux Operations Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger AI forretningskonsulent i Ballerup