TechBlog

Teknik och filosofi

NotResponding

inga kommentarer

För att bygga en rutin som loggar fel behöver man ibland bygga en rutin som skapar fel. Därför finns nu programmet NotResponding. Detta program framkallar felet (svarar inte) på beställning.

image_thumb

image_thumb1

Starta programmet och välj hur lång tid programmet skall stanna i Svara-inte-läget. Väljer du “Infinity” kommer programmet aldrig att svara igen och du måste välja att avsluta programmet med aktivitetshanteraren.

Ladda hem filen här:

image_thumb4NotResponding.exe (122 kB)

 

Lite bakgrundsteori

Vad betyder det att ett program inte svarar?

Något förenklat finns det i alla program en tråd (programslinga) som bevakar allt som har med användargränssnittet att göra. Tråden svarar på det som användaren gör och även på kommandon från operativsystemet.

På ett välskrivet program fångar slingan ett kommando från användaren (t ex att du tycker på en knapp), bestämmer vad som skall utföras (t ex öppna en fil) och startar en ny tråd som utför uppgiften i bakgrunden.

Mindre välskrivna program program utför för mycket arbete i huvudtråden. Om du vill läsa in en fil från hårddisken till minnet går det så pass snabbt att du kan göra detta i huvudtråden, användaren kommer aldrig att märka att programmet inte svarar under den korta tid det tar att läsa filen.

Men om filen ligger på en nätverkserver som inte går att nå just nu, kommer din dator att försöka nå servern i 30 sekunder innan den ger upp. Under dessa 30 sekunder kommer ditt program att vara låst och efter ett part sekunder märker datorn upp programmet som Not responding.

I det här läget ger datorn dig tillbaka lite kontroll och låter dig flytta fönstret. Efter ytterligare ett litet tag så ger datorn dig ett erbjudande att tvinga programmet att avslutas.

Av kalle

september 13th, 2013 at 7:41 f m

Postat i

Kommentera