Kill thread – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Kill thread – .NET – Fórum – Programujte.comKill thread – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Tayson0
Stálý člen
10. 12. 2013   #1
-
0
-

Zdravim

Neviem teraz akym smerom sa uberat tak poprosim o radu. Mam nejaky form1 kde ak kliknem na tlacidlo tak sa ten form skryje a otvori sa form2. V tomto forme2 mam tlacidlo ktore vola metodu z triedy. Trieda sa vola test. Takze som si vytvoril objekt vo form2 na triedu test a volam si nasledujucu metodu :

public void create_thread_sd()   
 {
            Thread thread = new Thread(alarm_sd);
            list_thread.Add(thread);
            thread.Start();
 }

Tu sa vlastne vytvori vlakno a vo vlakne sa spusta nasledujuca metoda:

private void alarm_sd() 
{
            while(!work)
            {
                if(communication.receivedString.Contains("SD CARD status 0"))
                {
                    tb1.Invoke((MethodInvoker)delegate()
                    {
                        tb1.AppendText("OK");
                    });
                    t1.Suspend();
                    work = true;
                }
            }
            work = false;
        }

Ako ste si mohli vsimnut tak si ukladam to vlakno do Listu<>. Vsetko funguje az na to ze ak chcem zatvorit form2 a znova otvorit form1 tak mam spustene vlakno alebo viacero vlakien tak ich potrebujem abornut .... skusal som aj pri ukoncovani form2 ked kliknem na nejake tlacidlo dat prechadzat List<> a ku kazdemu vysledku dat abort() ale nefunguje to ... neda sa nejako pri zatvrani form2 killnut vlakna ktore su v nom spustene ?

Nahlásit jako SPAM
IP: 195.146.149.–
Reklama
Reklama
JardaJirava0
Stálý člen
10. 12. 2013   #2
-
0
-

Ahoj,

 mám doplňující otázku.

 Proč nemůžeš to vlákno jednoduše ukončit (opustit metodu) a místo toho to vlákno jen suspenduješ?

 Jinak odpověď je, že nejspíše ten list je součástí form2, který zrušíš a tím ztratíš přístup k tomu listu. Mohl bys využít přetížení OnClosing/OnClosed. Přijde mi to však zbytečné.

Pěkný den,

Nahlásit jako SPAM
IP: 213.192.30.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
Tayson0
Stálý člen
11. 12. 2013   #3
-
0
-

#2 JardaJirava
To t1.Suspend() tam vobec nema byt to si netreba vsimat omylom som to tam skopiroval ... ide vlastne o to ze ak sa vytvori vlakno tak sa jednoducho stale dokonci a nemusim pouzivat abort()..... ale niekedy nastanu pripady ze potrebujem to vlakno abortnut aj ked nedokoncilo svoju ulohu.

Nahlásit jako SPAM
IP: 158.193.83.–
Tayson0
Stálý člen
11. 12. 2013   #4
-
0
-

#2 JardaJirava
A este k tomu Listu<> .... mam tlacidlo "Ukončiť" vo forme2 a na neho mam vytvorenu udalost pri klilknutí... v tej  udalosti prehladavam cely List<>  a vsetky vlakna ktore su tam a su spustene tak abortnem.

Nahlásit jako SPAM
IP: 158.193.83.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 72 hostů

Podobná vlákna

Kill podprocesu "druhého řádu" — založil hlucheucho

Vlákno - Thread — založil Kenvelo

Thread aplikace — založil GeorgeW

Wxpython a thread — založil ondrav

Thread.sleep() — založil JanH

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý