Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-11-2001, 15:44   #1
giopappy
Senior Member
 
L'Avatar di giopappy
 
Iscritto dal: Jan 2001
Città: Firenze Moto: Suzuki GSR
Messaggi: 795
Aprire e gestire + thread in C++

Come da titolo, ho la necessità che dalla procedura main partano in parallelo + processi, in pratica tutti uguali (nel senso che chiamo la stessa procedura) ma che agiscono su variabili (e files) diversi che passerei alla procedura chiamata.
Come si fa?
Al momento sto usando le librerie commonc++ (prese da surceforge) ma ho dei problemi nell'ambiente multithreading, infatti i thread si bloccano prima del dovuto, mentre se faccio partire un solo thread allora termina tranquillamente.
Grazie e ciao
giopappy è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2001, 16:24   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Forse hai problemi con il lock di aree di memoria accedute contemporaneamente da più thread...
Non conosco le commonc++, forse dovresti provare altre librerie per vedere se la colpa è delle commonc++ o "tua" (ad es. puoi usare le pthread se lavori in ambiente unix, oppure i thread delle SDL se vuoi una maggiore portabilità).
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2001, 17:13   #3
giopappy
Senior Member
 
L'Avatar di giopappy
 
Iscritto dal: Jan 2001
Città: Firenze Moto: Suzuki GSR
Messaggi: 795
Io lavoro in ambiente windows (sigh!) quali librerie posso usare(possibilmente che abbiano una buona documentazione!)?
giopappy è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2001, 18:39   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Con le API di Windows hai provato ? Con CreateThread ad esempio....
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2001, 19:56   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Le API di Windows sarebbero forse la soluzione migliore. Comunque le SDL ci sono anche per windows, sono state portate su molte piattaforme.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2001, 22:08   #6
giopappy
Senior Member
 
L'Avatar di giopappy
 
Iscritto dal: Jan 2001
Città: Firenze Moto: Suzuki GSR
Messaggi: 795
Quote:
Originariamente inviato da cionci
[b]Con le API di Windows hai provato ? Con CreateThread ad esempio....
Mi potresti indicare dove posso prendere della documentazione sull'uso di queste API? Spesso la guida in linea di visual studio non è il massimo in quanto a chiarezza....
giopappy è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2001, 06:58   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
AfxBeginThread è la versione MFC della API CreateThread...ho trovato questo esempio...

UINT MyThreadProc( LPVOID pParam )
{
CMyObject* pObject = (CMyObject*)pParam;

if (pObject == NULL ||
!pObject->IsKindOf(RUNTIME_CLASS(CMyObject)))
return 1; // if pObject is not valid

// do something with 'pObject'

return 0; // thread completed successfully
}

// inside a different function in the program
.
.
.
pNewObject = new CMyObject;
AfxBeginThread(MyThreadProc, pNewObject);
.
.
.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2001, 07:14   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Per CreateThread :

DWORD WINAPI ThreadProc(LPVOID lpParameter // thread data)
{
  int *i = (int *)lpPrameter;
  ++i;
  return 0;
}

void tuaFunzione()
{

  ....
  ....
  ....

  int i = 0;
  int threadID;

  HANDLE t = CreateThread(NULL, 0, ThreadProc, (void *)&i, 0, threadID);

  ...
  ...
  ...

  int termStatus;
  if(GetExitCodeThread(t, termStatus))
  {
    //c'è stato un errore la frunzione non può essere eseguita
  }
  else
  {
    if(termStatus == STILL_ACTIVE)
    {
      //Il thread sta ancora girando
    }
    else
    {
      //termStatus c'è l'exitCode del thread
    }
  }
}
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Huawei punta sul mercato auto europeo: i...
La telepatia diventa realtà: una start-u...
Il Samsung Galaxy S26 Pro sarà un...
Amazon: in arrivo degli occhiali AR per ...
Un Tesla Cybertruck per le vie di Milano...
Qualcomm Quick Charge 5+: il nuovo siste...
Google Pixel Buds A-Series quasi a met&a...
Google contro le immagini fake fatte con...
Narwal Flow sbarca su Amazon: due robot ...
Bioshock: il film di Netflix si far&agra...
Samsung 'trolla' Apple su X con la campa...
Apple Watch Series 11, Ultra 3 e SE 3 gi...
Landspace: il fallimento del lancio di u...
Windows 11 25H2: Microsoft rilascia le I...
Milano, dal 15 settembre via alle multe ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:28.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v