Newsgroup: it.comp.java
Titolo: chiamata di funzione da thread

Salve a tutti...se un thread lanciato da programma chiama a sua volta
una funione , nn thread , il thread si interrompe per aspettare la
terminazione della funzione chiamata o viene creata come novo thread?
Cioe la funzione chiamata f parte del thread?
grazie a tutti...e scusatemi per la probabile banalita della domanda..

 Cioe la funzione chiamata f parte del thread?
che bello quando la gente tenta di fare programmazione concorrente e
non ha la minima idea di quello che sta facendo.
Allora se chiami una funzione (che immagino sara' un metodo di una
qualche classe) da una thread, la stessa thread esegue la funzione (e
quindi aspetta che la funzione termini). Non si crea una nuova thread.

 quindi aspetta che la funzione termini). Non si crea una nuova thread.
a quanto ne so io, se un thread chiama una funzione (un metodo di una
classe, come si faceva notare giustamente), NON c'è affatto garanzia,
in generale, che questo riesca a terminarne l'esecuzione senza essere
interrotta da qualche altro thread.
Se vuoi garantire la non interrompibilità di un metodo per qualunque
thread che lo usa, devi far precedere alla dichiarazione della funzione
la parola 'synchronized':
public synchronized void f(...){
...
}
marco, se puoi posta il codice in questione così ci capiamo ...
ciao :)

 non ha la minima idea di quello che sta facendo.
- Sarebbe bello (IMHO) anche se si tenessero certi toni lontani da 
questo NG. Questo commento non aggiunge informazione utile alla 
richiesta dell'OP, che è perfettamente in topic e non necessariamente 
banale per chi stia apprendendo.
Nessuna polemica sia chiaro, ma a volte qualcuno potrebbe rimanerci male.
 > Allora se chiami una funzione (che immagino sara' un metodo di una
 > qualche classe) da una thread, la stessa thread esegue la funzione (e
 > quindi aspetta che la funzione termini). Non si crea una nuova thread.
- "Il" thread ;)
http://it.wikipedia.org/wiki/Thread
pole
-- 
ammentos - a lightweight persistence framework for JDK5
http://ammentos.biobytes.it
Flash tutorial: 
http://ammentos.biobytes.it/quickstart/quickstart.htm

 Nessuna polemica sia chiaro, ma a volte qualcuno potrebbe rimanerci male.
ci sono sempre almeno 2 messaggi a settimana riguardo a gente che cerca
di programmare con thread senza sapere cosa sono ne come funzionano.
Ora chiedere al newsgroup va bene, ma almeno sapere come funzionano le
thread (che cmq non e' un problema di java, ma di programmazione)...
e' come venire qui e chiedere come funziona il for(). non ha senso
(tutto IMHO chiaramente).
Ciao Jack

 interrotta da qualche altro thread.
chiaro, io intendevo che una thread (chiamiamola A) che chiama un
metodo aspetta che questo metodo sia finito prima di andare avanti. (la
chiamata di funzione da una thread e' bloccante solitamente)
poi se il context switch blocca la thread A , e ne fa partire un altra
(B), beh li e' questione di priorita' e non ha niente a che vedere con
il metodo chiamato.

ora e tutto chiarito,scusate se la mia domanda era banale,ma sto
preparando un programma per un esame d informatica , un web server in
java , dove ogni connessione viene gestita da un nuovo thread, anche se
di thread come avete notato so poco o niente...
ringrazio tutti per le risposte e buone vacanze a chi come me nn le ha
ancora finite