Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4722 connectés 

 


Dernière réponse
Sujet : [VB / API] CreateThread et TerminateThread
Styx0 là j'avoue que g pas le temps d'approndir davantage, fo que je finisse mon client FTP pour ce soir ..
donc je descend un niveau plus bas, j'abandonne les APIs Wininet.dll, et j'attaque directement les APIs Winsock ...
dire que je devais finir ca en deux jours en tout ... :( :(

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Styx0 là j'avoue que g pas le temps d'approndir davantage, fo que je finisse mon client FTP pour ce soir ..
donc je descend un niveau plus bas, j'abandonne les APIs Wininet.dll, et j'attaque directement les APIs Winsock ...
dire que je devais finir ca en deux jours en tout ... :( :(
Guru Il y a dans le sous système Win32 un équivalent qui est la fonction SuspendThread.ss
 
Cependant ce qui me parait troublant dans la description de l'une ou l'autre méthode (TerminateThread ou SuspendThread) c'est le fait que la documentation fait allusion à l'arrêt de l'execution en mode user du thread. Que se passe t il si le thread est entré en mode kernel lors de l'appel d'un service du kernel ?
 
Si quelqu'un peu répondre a cela, sans doute Styx tiendra une piste pour résoudre son problème car le thread qu'il souhaite arreter execute une fonction de l'api qui a de fortes chances de s'executer en mode kernel...
BENB En POSIX il y a une methode Suspend qui permet d'arreter la thread (la rendre Idle), cherche ce genre de chose, et puis apres tu la tues et la ca devrait marcher...
 Pardon pour ma precedente reponse mais sorti du contexte cela me parraissait tres bizare.
 
Je ne peux te donner que des indication car je fais du Multithreading en POSIX et les methodes ne sont pas les memes que sous Windows...
BENB Mais si, mais pas sous windows et pas en basic.
 
D'une maniere generale une Thread doit se terminer d'elle meme a la fin de la startfuncution. Le fait meme que tu veuilles la tuer n'est pas normal. Il est fort probable que tu ne puisse la tuer que si elle est idle.
Styx0 Personne n'a jamais fait du multithreading ?? :(
Styx0 Yo (re)
c encore moi,
voilà le pb auquel je me heurte encore actuellement, je créée un thread à l'aide de l'API CreateThread,
je souhaire le killer avec la fonction TerminateThread, seulement voilà, elle me retourne Faux et le code d'erreur '6'
impossible donc de killer mon thread
voici mes déclarations :
 
hThread = CreateThread(THREAD_TERMINATE, ByVal 0&, AddressOf AsyncThread, ByVal 0&, ByVal 0&, hThreadID)
 
TerminateThread hThread, lngErr
 
pour note : le Terminate et Create ne sont pas dans la meme procédure, et l'ID du thread est une variable globale
c le terminate qui me génère l'erreur

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)