Scarica il sorgente database/7-CreateThread.cpp
  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.