Italiano
HOME | PROGETTI | CLASSI C++ | Sorgenti c\c++ | Galleria | Guestbook | Server BW | Contattami | Login

<< CreateThread() >>

visiste: 1555


Esempio di come usare la funzione CreateThread(), passando alla funzione avviata parametri e ricevendo un return.

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <string.h>
  5.  
  6.  
  7. int funzione(LPVOID param);
  8.  
  9. struct struttura {
  10. int x;
  11. int y;
  12. char * testo;
  13. int ireturn;
  14. };
  15.  
  16. int main(int argc, char *argv[])
  17. {
  18. struct struttura sfunzione;
  19. sfunzione.x = 10;
  20. sfunzione.y = 5;
  21. sfunzione.testo = (char *) malloc(5 * sizeof(char));
  22. strcat(sfunzione.testo,"Ciao!");
  23.  
  24.  
  25. LPVOID param;
  26. DWORD ThreadId;
  27. CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) funzione, &sfunzione, 0, &ThreadId);
  28.  
  29. Sleep(100);
  30. printf("%d\n",sfunzione.ireturn);
  31.  
  32. getchar();
  33. return 1;
  34. }
  35.  
  36.  
  37. int funzione(LPVOID param){
  38.  
  39. struct struttura *dati = (struct struttura *) param;
  40.  
  41. printf("%d+%d\n",dati->x,dati->y);
  42.  
  43. dati->ireturn = dati->x + dati->y;
  44.  
  45. return 1;
  46. }
  47.  
Versione sito: 1.03.01 by mamo139. - Tutti i sorgenti presenti su questo sito sono rilasciati sotto licenza "GNU GPL version 3".