Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-06-2011, 17:23   #1
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
[C]Aiuti pre-esame Programmazione Concorrente (mutex, semafori etc..)

Ciao, mi devo preparare all'esame di info2 che avrei dovuto fare lo scorso semestre e dunque non ricordo quasi niente dalle lezioni

Apro questo thread per chiedere consigli e chiarimenti.

Ringrazio anticipatamente chiunque riesca a darmi una mano

Taglio parti inutili alla comprensione dell'esercizio tipo include e dichiarazioni variabili

Il primo quesito riguarda un esercizio standard in cui mi chiedono di identificare la sequenza che genera un deadlock , segno cosa non capisco nel codice (penso mi stia confondendo con i puntatori, ma ditemi voi)
Codice:
void foo(int val){
pthread_mutex_lock (& mutexB);
val *= 2; //ma che significa ?
if(val > 4)
pthread_mutex_unlock (& mutexB);
}

void * thread1(void *arg){
pthread_mutex_lock (& mutexA);
foo((int)arg); //sto passando a fool il valore che ho passato nel main?
pthread_mutex_unlock (& mutexA);
if((int)arg < 2)
pthread_mutex_unlock (& mutexB);
pthread_mutex_lock (& mutexA);
printf(”Sono alla fine del thread1\n”);
pthread_mutex_unlock (& mutexA);
return NULL;
}

void * thread2(void *arg){
pthread_mutex_lock (& mutexA);
pthread_mutex_lock (& mutexB);
printf(”Sono alla fine del thread2\n”);
pthread_mutex_unlock (& mutexB);
pthread_mutex_unlock (& mutexA);
return NULL;
}

int main(int argc , char * argv []){
pthread_t th1 , th2;
pthread_create (&th1 , NULL , thread1 , (void *)2); // significa passa il valore 2 al thread 1 ? Finita li ?
pthread_create (&th2 , NULL , thread2 , NULL);
pthread_join(th1 , NULL);
pthread_join(th2 , NULL);
return 0;
}
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2011, 17:57   #2
Cor3
Member
 
L'Avatar di Cor3
 
Iscritto dal: Jan 2008
Messaggi: 257
Codice:
val *= 2;
singifica assegna a val il suo valore moltiplicato per 2, in pratica equivale a
Codice:
val = val * 2;
Agli altri 2 dubbi ti sei risposto da solo.
Cor3 è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2011, 20:17   #3
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Grazie Cor3.
Domanda sui semafori: il prof. scrive

Codice:
sem_wait(...)decrementa il valore del semaforo:

–se il semaforo ha valore > 0, il thread che ha invocato la sem_wait
 decrementa tale valore e prosegue nell’esecuzione

–se il semaforo ha valore ≤ 0, allora il thread che ha invocato la sem_wait
 decrementa il semaforo e rimane bloccato finché il semaforo non diventa ≥ 0 (= 0), 
e poi prosegue nell’esecuzione


sem_post(...)incrementa il valore del semaforo:

–il thread che ha invocata la sem_post
 incrementa di un’unità il valore e prosegue nell’esecuzione
–ed eventualmente sblocca un thread accodato
Ok, ma se ad esempio il valore di sem (variabile semaforica generica) a valore -170 e l'istruzione da eseguire è una post incrementa il valore e comunque si ferma l'esecuzione perchè il valore è negativo o va avanti ?
Nel caso si bloccasse come si comporta nel caso il valore di sem fosse -1 e quindi dopo la post passerebbe a 0

Grazie




EDIT: Domanda ->
In generale tutto il blocco contenuto tra un mutex lock e un mutex unlock viene eseguito rigorosamente tutto in sequenza giusto? Ma per intenderci in una situazione tipo (tralascio la sintassi corretta per velocizzare)
Codice:
mutex_lock (1)
..codice qualsiasi...(2)
mutex_unlock
sicuro il (2) viene eseguito tutto insieme ma dopo la (1) volendo può cambiare contesto e passare ad un altro thread?

E nel caso:
Codice:
mutex_lock (1)
sem_wait(sem)(2)
mutex_unlock
la wait mi blocchi l'esecuzione esco fregandomene che sono sotto mutex?

Grazie
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"

Ultima modifica di stgww : 16-06-2011 alle 20:33.
stgww è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
L'acquisizione di ATI compie 20 anni: AM...
iPhone 18 Pro, Apple le prova tutte per ...
NVIDIA, Samsung, SK hynix e Broadcom: a ...
Sony rompe il silenzio: God of War Laufe...
iPhone Ultra, lancio ritardato per il pi...
Microsoft rafforza l'attivazione di Wind...
Galaxy S27 e S27+: Samsung starebbe test...
macOS più sicuro di Windows? Il n...
L'UE punta il dito contro TikTok: ecco c...
Qualcomm aumenterà i prezzi dei c...
TOP 12 Amazon weekend: al top una stampa...
Come sfruttare le offerte di Amazon per ...
Intelligenza artificiale: le Big Tech sa...
Xbox Game Pass, il mese di luglio 2026 s...
Smartphone troppo cari: Qualcomm ripensa...
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: 16:13.


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