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


Går det att påverka så programmet inte tar all CPU?

Postades av 2008-01-29 10:26:59 - Per Johansson, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 1016 personer

Har ett program som var 3:e sekund tittar i en mapp efter en text fil och finns det en fil så börjar den en import process. Men var tredje sekund skickar den cpu:n i taket 100% fast än jag satt prioritet till Låg. (Priority IDLE)

Går det att påverka så programmet inte tar all CPU?


Svara

Sv: Går det att påverka så programmet inte tar all CPU?

Postades av 2008-01-29 10:54:33 - Johan Djupmarker

Kör du någon form av loop? I sådana fall borde du kunna lägga till en sleep i varje iteration. Men vad är det för fel med 100% CPU? Har du satt låg prioritet innebär det att det inte påverkar andra processer speciellt mycket, programmet tar den "kraft" som blir kvar. Om du har något igång som tar 50% cpu kommer du se att din applikation inte tar 100% längre.

/Johan


Svara

Sv: Går det att påverka så programmet inte tar all CPU?

Postades av 2008-01-29 11:05:08 - Martin Adrian

Varför vill du inte använda all CPU när den ändå inte används till något annat?

Varför pollar du istället för att låta filsystemet meddela dig när en textfil skapas i mappen?


Svara

Sv:Går det att påverka så programmet inte tar all CPU?

Postades av 2008-01-29 14:11:07 - Pelle Johansson

Skriv DoEvents i alla dina loopar så operativet får tid att jobba.

Sen som nämns, skriv om det i vb,net och använda FileSystemWatcher istället. Då får du information från servern att en fil skapats, ändrats, raderats eller vad du vill och således tar det mycket mindre kraft på servern.


Svara

Sv: Går det att påverka så programmet inte tar all CPU?

Postades av 2008-01-29 14:35:57 - Johan Djupmarker

<b>Skriv DoEvents i alla dina loopar så operativet får tid att jobba.</b>

DoEvents påverkar inte OS:et eller andra applikationer. DoEvents gör att programmet processar alla sina "fönstermeddelanden" som är köade, alltså ritas fönstret om bl.a. och man slipper problemet med att det (fönstret) "fryser".

<b>Sen som nämns, skriv om det i vb,net och använda FileSystemWatcher istället. Då får du information från servern att en fil skapats, ändrats, raderats eller vad du vill och således tar det mycket mindre kraft på servern.</b>

Du behöver inte använda VB.NET (eller något annat .NET-språk för den delen) för att lyssna på filsystemshändelser. Samma funktionalitet kan du anropa genom API. Detta verkar vara ett exempel: http://www.thescarms.com/vbasic/FolderSpy.aspx

/Johan


Svara

Sv:Går det att påverka så programmet inte tar all CPU?

Postades av 2008-01-29 16:15:16 - Per Johansson

Kanon, skall testa med folder spy. Testat och fungerade perfekt, tusen tack!
Filen ligger alltid där men innehållet ändras.

DoEvents har jag med!
När man tittar på andra program som ligger och kör så blir det inga CPU spikat till 100% där.!?
Så det går inte låsta att programmen endast får 5%CPU typ?

Jag förstår att Widows tilldelar programmet det som finns men om flera program snurrar och vill ha CPU?


Kan inte göra allt i VB.Net än...Men bor någon i närheten av Karlstad så är ni välkommna till mitt kontor.


Svara

Sv: Går det att påverka så programmet inte tar all CPU?

Postades av 2008-01-29 16:56:49 - Oskar Johansson

Nej, du kan inte begränsa till 5% cpu, fungerar inte riktigt så.. Vad ska processorn göra resterande 95% av tiden? Klart att den kan sova, men det känns inte riktigt effektivt..

OS har en schemaläggare för processorn/-erna som väljer vilken tråd (som inte är pausad) som ska köras, och det är här det där med prioritet kommer in i bilden; en tråd med högre prioritet kommer få mer tid tilldelad än en tråd med lägre prioritet.

Att din tråd (eller process/program om du kör enkeltrådat) får 100% är inte så konstigt; schemaläggaren har konstaterat att det inte finns någon annan tråd som vill ha cpu-tid (sanning med modifikation dock, kärnan vill t.ex. ha cpu-tid, och säkert ett gäng andra processer, men det är försumbart i det här fallet anser jag..), och finns det ingen annan tråd som vill ha cpu-tid så är det enbart din tråd kvar; att dela upp 100% cpu-tid på 1 tråd innebär att den enda tråden kommer få 100%..


Svara

Sv: Går det att påverka så programmet inte tar all CPU?

Postades av 2008-01-29 17:05:18 - Martin Adrian

>Jag förstår att Widows tilldelar programmet det som finns men om flera program snurrar och vill ha CPU?

Du har ju satt lägre prioritet på ditt program. Då kommer inte ditt program att använda CPUn om något annat program behöver den.

>Så det går inte låsta att programmen endast får 5%CPU typ?

Förstår inte vad du vill uppnå med det.

- Om du vill att ditt program skall gå långsammare använd Sleep (och ev. DoEvents)
- Om du vill att ditt program inte skall ta CPU från andra program använd prioritet.

> DoEvents har jag med!

Lägga till saker utan att veta vad de gör är ingen bra strategi.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 725
27 958
271 751
689
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