Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Bloccare Thread che dura troppo tempo

    Dovrei poter bloccare un Thread nel caso in cui questo duri più di Tot minuti. Creo un Thread con
    Dim t As New System.Threading.Thread(Sub() AvviaProcesso)
    t.IsBackground = True
    t.Start()

    come procedo?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Il problema non era tanto per il metodo Abort ma da dove richiamare tale metodo. Premetto che ho una classe che si occupa di una serie di cose tra cui copiare dei file, ed è proprio questa classe che io avvio su Thread separati, ogni Thread un'istanza della classe. Adesso, mi consigli di avviare un Timer all'interno della classe stessa o all'esterno(con un array di timer) o è indifferente.
    Poi per la questione della copia dei file, io uso il semplice File.Copy. Nel caso di un file di grosse dimensioni se io richiamo la Thread.Abort il thread viene interrotto solo alla fine della copia del file di grosse dimensioni.
    Ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    No lo fai dall'esterno:

    codice:
    t.Start(); //Fai partire il thread t
    //eventualmente fai altro...
    t.join(2000); //attendi la fine del thread per un massimo di ulteriori 2 secondi
    if (t.ThreadState != ThreadState.Stopped) //t non è terminato
        t.Abort();

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da mardok30
    Il problema non era tanto per il metodo Abort ma da dove richiamare tale metodo

    ...

    solo alla fine della copia del file di grosse dimensioni.
    La Abort va chiamata dall'esterno (ovviamente).

    Se esegui un compito sincrono molto lungo, non potrai bloccarlo (per definizione).
    La soluzione è la copia asincrona.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Grazie per i suggerimenti, adesso mi tocca fare qualche ricerca sulla copia asincrona dei file e cartelle.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.