Avatar billede glenn007 Nybegynder
26. september 2009 - 17:17 Der er 4 kommentarer og
1 løsning

eksempel på threading i consol søges

hejsa,

sidder og prøver at lave en thread i et consol program.
det virker fint. men jeg savner viden om hvordan jeg kan sende en variabel med ind i denne trå i et consol program. er der en der ligger med et simpel eksempel på hvordan jeg kan sende variabel ind på den måde

har gjort således og der vil den ikke acceptere jeg udveksler data mellem funktionerne

class Program
    {

        static void data(string data)
        {

            Console.WriteLine("Data modtaget : " + data);
           
            return;
        }
        static void Main(string[] args)
        {

consol.writeline("starter tråd 1");
consol.readkey();
Thread threaden = new Thread(new ThreadStart(data));
                    action.Start();
                    action.Join();
// fortsætter når thread har joinet til næste opgave
Avatar billede arne_v Ekspert
26. september 2009 - 20:08 #1
Der er mange muligheder.

Du kan sende argument over i constructir, du kan bruge ParameterizedThreadStart etc..
Avatar billede arne_v Ekspert
26. september 2009 - 20:23 #2
Lidt forskellige måder at gøre det på:

/*
* Created by SharpDevelop.
* User: Arne
* Date: 26-09-2009
* Time: 14:09
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Threading;

namespace E
{
    public class T1
    {
        private string s;
        public T1(string s)
        {
            this.s = s;   
        }
        public void Run()
        {
            Console.WriteLine(s);
        }
    }
    public class T2
    {
        public static void Run(object s)
        {
            Console.WriteLine((string)s);
        }
    }
    public class Program
    {
       
        public static void Main(string[] args)
        {
            Thread t1 = new Thread(new ThreadStart((new T1("ABC")).Run));
            t1.Start();
            t1.Join();
            Thread t2 = new Thread(new ParameterizedThreadStart(T2.Run));
            t2.Start("DEF");
            t2.Join();
            Thread t1x = new Thread((new T1("GHI")).Run);
            t1x.Start();
            t1x.Join();
            Thread t2x = new Thread(T2.Run);
            t2x.Start("JKL");
            t2x.Join();
            Thread t3 = new Thread(delegate(object s) { Console.WriteLine((string)s); });
            t3.Start("MNO");
            t3.Join();
            Thread t4 = new Thread((object s) => Console.WriteLine((string)s));
            t4.Start("PQR");
            t4.Join();
            Console.ReadKey();
        }
    }
}
Avatar billede glenn007 Nybegynder
26. september 2009 - 22:52 #3
super godt,  tak endnu engang
Avatar billede arne_v Ekspert
26. september 2009 - 23:03 #4
Jeg smider et svar så.
Avatar billede arne_v Ekspert
22. oktober 2009 - 23:14 #5
Så mangler du bare at acceptere.
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