20. december 2007 - 17:27Der er
5 kommentarer og 1 løsning
Kør process i baggrunden?
Hejsa jeg er rimelig ny i C#, men 1 ting har ireteret mig siden jeg er startet og det at at jeg ikke kan få programmet til at lave mere end en ting af gangen.
f.eks. så er jeg igang med et program lige pt som skal gennem en log som blive streamet direkte til den fra en telnet server.
Sådan som jeg kan gøre det idag er bare ved at oprette et metode som den så køre i, men hvilket betyder at man ikke kan andet med programmet mens den køre.
Hvordan kan jeg gøre sådan at den motode som går igennem live streamet ikke låser programmet helt op?
Når du kører dit program kører det kun i en tråd (main tråden). Ønsker du at lave flere operationer "samtidig", skal du starte en ny trå og lade den udføre arbejdet.
En tråd startes således (ikke testet):
// Importer Threading using System.Threading
// Instantier Threadstart og angiv hvilken metode der skal trådes (myMethod) ThreadStart ts = new ThreadStart(myMethod);
// Lav en tråd med ThreadStart Thread t = new Thread(ts);
// Start tråden t.Start();
// Trådet metode private void myMethod(){
// Kør i 5 sekunder og skriv loop for(int i=0;i<10;i++){
Console.Writeline("Hallo fra tråd loop="+i) Thread.Sleep(500); } }
Heh... kan være det er lidt sendt på natten... Men kom lige til at grine over dit svar arne :P... Hvis du vender den lidt rundt... så er det da ikke særlig hjælpsomt... det var jo netop det han gjorde... startede en traad... her inde altså :P...
Ej sorry for OT... kan være det bare er fordi det lige er lidt sent... hehe... (Ved selv godt at det er rigtigt det arne mener :P... )
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.