Ho un programma in cui un oggetto è static. Quando creo due thread per lo stesso programma, l'oggetto static è ancora condiviso tra i due thread o no?
Grazie.
![]()
Ho un programma in cui un oggetto è static. Quando creo due thread per lo stesso programma, l'oggetto static è ancora condiviso tra i due thread o no?
Grazie.
![]()
Certamente. Un oggetto statico fa riferimento ad una classe non ad una singola istanza dell'oggetto. Quindi se tu hai due thread che lavorando su di un oggetto statico, esistendo in memoria una sola copia di quell'oggetto, esso viene "condiviso" da entrambi i thread.
Un'altro modo per condividere un oggetto fra più "oggetti" (quindi anche thread) è quello di passare ai vari oggetti un riferimento all'oggetto stesso, che può anche non essere statico. Ciò può essere facilmente fatto, ad esempio, passandolo al costruttore di questi oggetti, che ne memorizzeranno l'informazione.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
[OT]
Eh già... è facile dimostrare la correttezza di un programma... tutt'altra cosa è dimostrarne la completezza!Oggi la tecnica normale è fare prima un programma e poi testarlo, però: controllare un programma può essere un modo efficace per mostrare la presenza di un bug ma è disperatamente inadeguato per mostrare la loro assenza
[/OT]
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza