Avatar billede quiw Nybegynder
31. december 2006 - 01:58 Der er 9 kommentarer og
1 løsning

Kill Thread

Hejsa eksperter, jeg har et lille spørgsmål, hvordan dræber man en tråd som kører?.. F.eks.

DWORD __stdcall thread()
{
    Sleep(100000);
}

DWORD id;
CreateThread(0, 0, thread, 0, &id);

Findes der noget der ligner:
KillThread(0, 0, thread, 0, 0, &id);

- på forhånd tak.
Avatar billede arne_v Ekspert
31. december 2006 - 02:05 #1
Avatar billede bertelbrander Novice
31. december 2006 - 02:08 #2
Der er TerminateThread:
http://msdn2.microsoft.com/en-us/library/ms686717.aspx

På siden står der også en række grunde til ikke at bruge den.
Avatar billede bertelbrander Novice
31. december 2006 - 02:09 #3
For langsom...
Avatar billede quiw Nybegynder
31. december 2006 - 14:43 #4
Hm .. I see .. Har kigget lidt på det .. Har nemlig en multithreaded server .. Og når jeg kicker folk gør jeg simpelt nok det at jeg siger Closesocket(); men problemet er, at den næste som connecter for fejl .. Fordi han åbner "samme" tråddel som den tidligere bruger har brugt ..
Avatar billede bertelbrander Novice
01. januar 2007 - 23:09 #5
Du bør finde en "pæn" måde at afslutte dine tråde.
Avatar billede quiw Nybegynder
01. januar 2007 - 23:47 #6
Bertel - Jeg har tænkt hele dagen, og har fundet mig en løsning .. Fandt ud af at når folk bare "lukker" client delen .. Så modtager den bare '\0' .. Så lavede et .. If recv == '\0' .. :) På den måde ville de blive afsluttet pænt :) Men det må vel være arne der skal ligge et svar :)
Avatar billede segmose Nybegynder
04. januar 2007 - 13:47 #7
Hvis du selv har styr på clienten så lad den sende en besked f.ex. hvert minut, denne beskred resetter en timer på f.ex. 3 minutter hvis timeren løber ud så er der ikke en forbindelse længere. Samme den anden vej.
Avatar billede mnc Nybegynder
04. januar 2007 - 13:57 #8
Hvilken slags server/klient er det? er det noget chat, eller?
Det kunne være det ville få gang i de kloge hovedet.. Ikke at jeg er et af dem, det var bare en tanke. :P
Avatar billede quiw Nybegynder
04. januar 2007 - 23:40 #9
Segmose - Klienten er telnet :) Men har fundet mig en løsning .. Det fungere således, at når en klient bare "lukker" vinduet .. Så receiver min server et uendeligt antal \0 .. Så har lavet således at hvis den receiver tomme beskeder som kun indeholder \0 skal den lukke :)

mnc - Jeps det er en chat .. :) Men venter sådan set bare på at Arne_V ligger et svar :)
Avatar billede arne_v Ekspert
17. marts 2007 - 03:08 #10
svar
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
Kurser inden for grundlæggende programmering

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