Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-01-2015, 10:15   #1
vittorio130881
 
Messaggi: n/a
java e thread domanda

ciao a tutti
sto al punto sui thread.
due domande. ad un certo punto dopo aver fatto notare come creare un thread a partire da un implementazione di Runnable fa vedere il metodo alternativo basato su extend di Thread.

in particolare

public class CounterTrhead extends Thread ........ override di run()

e poi istanzio

CounterThread thread=new CounterThread();
thread.start();

ok mi è chiaro perchè Thread implementa a sua volta Runnable.
quello che non ho capito è ciò che dice dopo ovvero preferire l'implementazione di Runnable per 3 motivi di cui due li ho capito uno no:

"solitamente un oggetto della classe Thread non dovrebbe possedere variabili di istanza private che rappresentano i dati da gestire. quindi il metodo run() nella sottoclasse di thread non potrà accedere, in maniera pulita, a tali dati"

cosa significa?


seconda domanda..... i thread in generale condividono i dati (cosi dice la teoria) ma in cosa consiste questa condivisione di dati? ovvero che se dichiaro e creo un thread dal thread principale, il thread figlio potrà leggere e usare le variabili del thread principale?? mi fate se possibile un esempio?
  Rispondi citando il messaggio o parte di esso
Old 15-01-2015, 04:31   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da vittorio130881 Guarda i messaggi

"solitamente un oggetto della classe Thread non dovrebbe possedere variabili di istanza private che rappresentano i dati da gestire. quindi il metodo run() nella sottoclasse di thread non potrà accedere, in maniera pulita, a tali dati"

cosa significa?
Gia', cosa significa? Potresti chiedere all'autore. Secondo me e' il segno che non ha riletto quello che ha scritto.
Se lo contatti, facci sapere.

Quote:
Originariamente inviato da vittorio130881 Guarda i messaggi
seconda domanda..... i thread in generale condividono i dati (cosi dice la teoria) ma in cosa consiste questa condivisione di dati? ovvero che se dichiaro e creo un thread dal thread principale, il thread figlio potrà leggere e usare le variabili del thread principale?? mi fate se possibile un esempio?
Si, e' corretto. In realta' si parla di variabili membro delle varie classi. Supponi che da una classe che implementa Runnable si instanzi uno o piu' thread. Tutti questi thread potranno accedere alle variabili membro, ovviamente con tutti i problemi annessi e connessi.

Esempio - questo codice crea 10 thread che accedono tutti alla stessa variabile counter, incrementandone il valore e stampandola.
E' un tipico caso di accesso ad una risorsa condivisa (la variabile counter, appunto). L'accesso alle risorse condivise normalmente viene regolato, come nel caso in cui piu' persone (thread) vogliano usare il bagno (risorsa). E' opportuno che ci si metta d'accordo e che lo si usi uno alla volta, giusto? Nel frattempo, le altre persone possono fare altro.
In questo esempio, non c'e' nulla che regoli l'accesso alla variabile counter, perche' hai chiesto un esempio in cui piu' thread condividono le stesse variabili. Ma immagino che il risultato non sia quello che ti aspetti...
Codice:
class Test implements Runnable
{
    private int counter = 0;

    @Override
    public void run()
    {
        try
        {
            for (int i = 0; i < 5; i++)
            {
                counter++;
                System.out.println(Integer.toString(counter));
                Thread.sleep(500);
            }
        }
        catch (InterruptedException e)
        {
            System.out.println("Thread interrupted");
        }
    }

    public static void main(String[] args)
    {
        Runnable r = new Test();
        for (int i = 0; i < 10; i++)
        {
            new Thread(r).start();
        }
    }
}
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2015, 09:02   #3
vittorio130881
 
Messaggi: n/a
ok grazie mi è chiara la tua spiegazione sul secondo punto.
contatto spesso l'autore lo ammetto
ma faccio finta di aver capito quello che ha scritto sulla prima
fa nulla grazie!
  Rispondi citando il messaggio o parte di esso
 Rispondi


realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sembra uscito da Halo ma è un PC:...
Fable 2 su PC a 60 FPS: il port non uffi...
Amazfit T-Rex Dual Solar: ecco il nuovo ...
Fermati 45 maxi-progetti IA negli USA. T...
Niente datacenter a Turbigo: il sindaco ...
OPPO Creator Academy, al via il progetto...
Un annuncio di lavoro, un file da scaric...
Tim Cook riceverà il Robert N. No...
Meta ha annunciato Petal, il primo cavo ...
Resident Evil Veronica, l'uscita potrebb...
Audi porta in tribunale...AUDI: causa co...
Apple smette di firmare iOS 26.6.2: chi ...
Rallentare l'IA per sicurezza o per tene...
X informerà gli utenti quando i g...
MediaTek presenta Dimensity CX C10 Max, ...
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: 14:44.


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