Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Paralella processer i C#

Postades av 2003-05-22 20:25:56 - Henke Larsson, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 866 personer

Hej undrar vilka tekniker det finns för att lösa följande problem.

Skulle vilja skapa en evighetsloop (tror det kallas threding eller något sånt i java) av en viss del av programmet. Den delen skall hela tiden ligga och ta en skärmdump av ett aktivt fönster. Medans den ligger och kör ska även annan kod exikveras parallelt och analysera de bilderna som tagits.
Hur kan jag göra detta och vad kallas denna teknik?

MVH Henrik Larsson


Svara

Sv: Paralella processer i C#

Postades av 2003-05-22 23:06:13 - Mattias Lindberg

Kolla på System.Threading.ThreadPool, denna klass gör det väldigt enkelt att skapa en ny tråd som kan utföra arbete parallellt med resten av ditt program. Den metod du är intresserad av är QueueUserWorkItem.

Om du vill vänta 1 sek mellan dina skärmdumpar kan du använda metoden System.Threading.Thread.Sleep(1000).

Hoppas detta leder dig på rätt spår!

/Mattias


Svara

Sv: Paralella processer i C#

Postades av 2003-05-23 09:09:06 - Patrik Löwendahl

Jag hade inte använt threadpoolen tilkl arbeten som håller på såpåss länge.

Bättre då att starta en egen tråd som du kan kontrollera.

<code>
ThreadStart ts = new ThreadStart(myObj.anInstanceMethod);
Eller:
ThreadStart ts = new ThreadStart(myClass.aStaticMethod);
Sen:

Thread trScreenDumps = new Thread(ts);
trScreenDumps.IsBackground = true; // Glöm inte denna [1]
trScreenDumps.Start();
</code>

På det sättet har du hela tiden en referens till den tråden som exekverar i bakgrunden, vilket du inte har i poolen.

Om du från någon annan tråd än din huvudtråd vill uppdatera controller på ditt formulär, bör du även använda dig av forumlärets BeginInvoke metod.

<code>
MethodInvoker paintBMP = new MethodInvoker(this.PaintBMP);
this.BeginInvoke(paintBMP);
</code>

Anledningen till det är att controller inte är trådsäkra i sig självt, men genom att använda methodinvokern och BeginInvoke, så flyttas exekveringen av PaintBMP till huvudtråden, och all uppdatering av formuläret kommer således köra från samma tråd och då vara trådsäkert.

Ovanstående gällande formulär är en sanning med modifikation, återkommer efter första passet kursen jag håller nu med en bättre förklaring, men använd den koden.

[1] Utan IsBackground = true, så kommer CLR anta att din nya tråd är en huvudtråd och du blir tvungen att själv avsluta den för att din process skall gå ner.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
596
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies