Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 03-12-2010, 18:40   #1
Dr.Oga
Member
 
Iscritto dal: Aug 2006
Messaggi: 50
problema di comprensione algoritmo

Stavo studiando le sincronizzazioni e mi sono ritrovato sul cato del test and set


Codice:
boolean TestandSet(boolean &obiettivo){
boolean valore= obiettivo;
obiettivo=true;
return valore;}
blocco=false di default
Codice:
do{
while(TestandSet(blocco));
  sezione critica 
blocco = false;
}while (1) ;
Non mi è chiaro come segue il codice.... alla prima istanza
Se blocco è false quando arriva nel while(TestandSet(blocco)); viene chiamata la funzione booleana che ha come parametro &obiettivo, ovvero l'indirizzo fisico di blocco!
dopo di che valore assume il valore di obiettivo,e obiettivo assume valore di vero e in fine ritorna valore!

Dato che il valore di ritorno di TestandSet è falso, si entra nella sezione critica alla fine della quale si rimposta blocco al valore false...ma non stava di già al valore false?

quando si usa obiettivo= true si modifica la cella di memoria di blocco? ricordo male o serve &obiettivo per modificare la cella di memoria?
__________________
Athlon 64 3800+, MB Asus a8n-sli-premium, GeForce 7900gs 256mb ddr3, ram 1gb dual channel kingston, hd1 250gb sata seagate, hd2 160gb sata maxtor
Dr.Oga è offline  
Old 04-12-2010, 10:32   #2
Ed_Bunker
Senior Member
 
L'Avatar di Ed_Bunker
 
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9455
Come di evince dalla "firma" della procedura TestAndSet il passaggio del parametro avviene per riferimento (Datti un'occhiata all'utilizzo di & nella dichiarazione delle procedure).

Quando esci dal ciclo while interno (Una scandalosa attesa attiva...) significa che il blocco era a 'false' (Ovvero nessun altro concorrente era in sezione critica)
L'assegnamento obiettivo = true prima di restituire valore serve per impedire che altri concorrenti entrino in sezione critica mentre sarai tu ad esserci.
Al termine della sezione critica metti blocco a false in modo che qualche altro concorrente (uno solo ed in maniera non deterministica) esca dal ciclo di attesa attiva e possa entrare in sezione critica.
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C.
Ed_Bunker è offline  
Old 05-12-2010, 18:07   #3
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
cionci è offline  
 Discussione Chiusa


realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
EU AI Cloud, il cloud sovrano di SAP per...
God of War: la serie TV entra in pre-pro...
Stampante HP in super offerta: la multif...
Maxi offerta su Roborock S8 MaxV Ultra: ...
Ron Gilbert, il creatore di Monkey Islan...
AMD, aumento dei prezzi per i processori...
I migliori regali di Natale a meno di 50...
Sorprese post Black Friday: questi TV 4K...
NVIDIA perde quota, AMD e Intel guadagna...
Il cloud ibrido al centro delle strategi...
Amazon sorprende: avviatori, compressori...
Super ribassi Bose su Amazon: QuietComfo...
Instagram cambia rotta: basta lavoro ibr...
AirPods Pro 3 a prezzo bomba, ma le AirP...
Prezzi giù su Oral-B: spazzolini elettri...
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: 13:36.


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