Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Al .NEXT 2026 di Chicago, Nutanix ha mostrato quanto sia cambiata: una piattaforma software che gestisce VM, container e carichi di lavoro IA ovunque, dall’on-premise al cloud pubblico. Con un’esecuzione rapidissima sulle partnership e sulla migrazione da VMware
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 03-12-2010, 17: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, 09:32   #2
Ed_Bunker
Senior Member
 
L'Avatar di Ed_Bunker
 
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9498
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, 17: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


DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
La NASA ha confermato il supporto per il...
Sierra Space ha completato il test acust...
Ryzen 7 5800X3D pronto a tornare sul mer...
NASA: l'amministrazione Trump prosegue s...
L'Iran avrebbe acquistato un satellite p...
VivaTech compie dieci anni e raddoppia p...
Le vendite di CPU si sono ridotte di 25 ...
Starship: SpaceX ha completato lo static...
Huawei FusionSolar Roadshow 2026: l'inno...
Nuovo trailer per Street Fighter: un fil...
Sovranità sui dati: arriva la pri...
Schede video NVIDIA e AMD di nuovo su Ma...
Robot aspirapolvere, TV OLED, iPhone 17 ...
EUREKA J15 Pro Ultra super interessante ...
Intel porta l'AI nei notebook entry-leve...
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: 02:03.


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