Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-11-2006, 18:15   #1
mfonz85
Member
 
L'Avatar di mfonz85
 
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
[C] creazione processi multipli da programma padre

Ciao a tutti,
sto scrivendo un programmino che serve a semplificarmi la vita per la conversione e l'ordine di file mp3.
Questo programma prende in input una cartella qualsiasi e crea in un'altra cartella di output la stessa directory tree della cartella di partenza, copiandoci eventualmente sopra i file mp3 ri-codificati usando il ben noto LAME 3.97
Ora, il mio programma funziona molto bene, e riesco a far partire il processo LAME.exe tramite questa funzione, alla quale passo una stringa contenente "lame -h --abr 112 #FILE INPUT# #FILE OUTPUT#" per fare in modo che il LAME stesso crei un mp3 ri-codificato con bitrate medio sui 112kbps:
Codice:
void startNewLameProcess(char* fullParString)
{
    STARTUPINFO si;  
    PROCESS_INFORMATION pi; 

    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );

    if( !CreateProcess(
	NULL,
        TEXT(fullParString),
        NULL,
        NULL,
        FALSE,
        0,
        NULL,
        NULL,
        &si,
        &pi )
    )
    
    {
        printf("Creazione processo fallita... (%d).\n", GetLastError() );
        return;
    }

    WaitForSingleObject( pi.hProcess, INFINITE );

    DWORD dwExitCode = 0;
	
    GetExitCodeProcess(pi.hProcess, &dwExitCode);
	
    if(dwExitCode == STILL_ACTIVE) {
	TerminateProcess(pi.hProcess, 0);
    }
    
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
}
Ora, la mia domanda è questa: se ho un processore Dual Core, spreco tempo perchè potrei tranquillamente tenere 2 istanze del LAME aperte contemporaneamente, ognuna affibbiata ad 1 singolo processore...
E' possibile effettuare questa operazione anche sul mio programma, anche utilizzando le API di windows???
Oppure posso tenere solo 1 istanza del LAME.exe, aspettare che termini, e poi iniziarne un'altra?
In questo caso, esiste una sorta di ottimizzazione per i sistemi dual/quad core?
Grazie anticipatamente
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat
mfonz85 è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2006, 19:57   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da mfonz85
In questo caso, esiste una sorta di ottimizzazione per i sistemi dual/quad core?
Guarda le seguenti funzioni Win32: SetProcessAffinityMask() e GetProcessAffinityMask(). In più, per i thread: SetThreadAffinityMask()

Inoltre: GetSystemInfo() per sapere quanti processori ci sono.

E se hai modo di usarle in modo interessante ... raccontacelo! Io personalmente non ho ancora avuto modo di mettere mano su un sistema dual-core.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)

Ultima modifica di andbin : 28-11-2006 alle 19:59.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2006, 21:25   #3
mfonz85
Member
 
L'Avatar di mfonz85
 
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
Quote:
Originariamente inviato da andbin
Guarda le seguenti funzioni Win32: SetProcessAffinityMask() e GetProcessAffinityMask(). In più, per i thread: SetThreadAffinityMask()

Inoltre: GetSystemInfo() per sapere quanti processori ci sono.

E se hai modo di usarle in modo interessante ... raccontacelo! Io personalmente non ho ancora avuto modo di mettere mano su un sistema dual-core.
Accidenti, sarà meglio che mi legga qualche codice d'esempio altrimenti mi perdo tra i thread
TI farò sapere qualcosa di più domani, dopo un pò di testing
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat
mfonz85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Hyundai Ioniq 9, prima prova: viaggiare ...
Allarme blackout in Spagna: la rete elet...
MindsEye, rivolta dei dipendenti contro ...
In Cina Xiaomi SU7 Ultra prende fuoco do...
Apple Smart Glass: display integrato e d...
Mortal Kombat 3 si farà: la confe...
iPhone 18 Pro: prime indiscrezioni sulle...
Vai all'università? Hai un anno d...
Rubrik accelera su IA e sicurezza: tra c...
Nuovo Nothing Phone (3) in offerta su Am...
Roborock Qrevo Edge in offerta su Amazon...
Polizia statunitense mette in guardia: s...
EUREKA J15 Ultra ed Evo Ultra in offerta...
L'Olanda 'nazionalizza' il produttore di...
Robot Lefant M2 Pro in offerta su Amazon...
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: 11:40.


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