View Full Version : [C++] Processore Hyper Threading
Ciao,
ho un problema con un programma in C++ Builder.
Praticamente il mio programma usa un thread e finchè lo uso su una macchina monoprocessore tutto funziona alla perfezione, ma quando lo metto su una macchina con processore Hyper Threading (che simula 2 processori) il programma sembra che accavalli le operazioni.
Ho provato a togliere il threads ma nulla, ho provato a gestire con i semafori, stessa cosa.
Avete qualche suggerimento???
Forse il problema sta sulla gestione multiprocessore, cioè il corsore che indica le operazioni che deve svolgere un processore, a lo stesso valore su entrambi i processori e questo porta ad eseguire due volte la stesse operazioni
Forse non sono un esperto in multiprocessore..
Ciao.
Per i test che ho fatto sembra essere quello che dici, cioè che venga svolta 2 volte la stessa operazione.
Quindi se il problema è questo il problema è della macchina non del mio programma, giusto?
Oppure devo fare io qualcosa nel programma per evitare che il cursore
delle oprazioni punti alla stessa operazione?
Tu hai una soluzione che posso provare?
Ho scoperto che il C++ builder compila di default in multithread,
sapete come fare per compilare in single thread?
ciao
Se tu crei un thread la tua applicazione è già multithread...
Il problema è sicuramente da ricercarsi nella gestione dei dati fra i due thread...hai utilizzato strutture di sincronizzazione per accedere alle variabili lette/scritti da entrambi i thread ?
Originariamente inviato da cionci
Se tu crei un thread la tua applicazione è già multithread...
Il problema è sicuramente da ricercarsi nella gestione dei dati fra i due thread...hai utilizzato strutture di sincronizzazione per accedere alle variabili lette/scritti da entrambi i thread ?
Ma io ho anche tolto il thread dal programma e il problema rimane, quindi non penso sia dovuto ad una errata gestione dei threads.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.