Vc deve torna-lo publico na classe que cria a instancia da classe thread,
passando para esta uma referencia para hastable
veja se entende.
se não tento depois te enviar um exemplo.
private hastable myPublicHastable = new hastable();
public static void main ( String args[] ) {
MyThreadClass t = new MyThreadClass( myPublicHastable );
t.start();
}
class MyThreadClass extends thread {
private hastable h;
MyThreadClass( Hastable h ) {
this.h = h;
}
public void Add( Object o, String key ) {
this.h.Put( o, key )
}
José Iram Abreu de Souza
Analista de Sistemas
Manhattan Business Technology
Rua Teófilo Otoni, 82 - 10º andar - Centro - RJ
CEP: 20091-070
Tel.: 55 21 2518-2000
Fax: 55 21 2263-2663
www.manhattan.inf.br
"Henrique" <[EMAIL PROTECTED]>
17/02/2003 12:18
Please respond to enterprise-list
To: <[EMAIL PROTECTED]>
cc:
Subject: [enterprise-list] Threads
Pessoal, estou implementando uma solução em Java que
utiliza Threads, mas, me deparei com um problema ainda sem solução.
Descrição, Simulação Problema:
- existe uma classe principal, escutando numa porta qualquer
(socket) esperando requisições (Daemon). Para toda requisição a esta
classe
principal, é levanta uma Thread que realiza uma determinada operação e é
destruída;
- na classe principal, existe um objeto Hashtable público, sua
função é armazenar valores setados nas Threads que são levantadas. Dessa
forma, nas Threads de acordo com a lógica do algorítmo, posso executar ADD
ou REMOVE no Hashtable público.
- o problema está exatamente em deixar esse Hashtable público,
todas
as vezes que levanto uma nova Thread, o Hashtable é inicializado, não
consigo torná-lo público para as Threads.
Já tentei utilizar o Hashtable como público para todas as Threads, já
tentei passá-lo por parâmetro(valor) para as Threads, já utilizei uma
classe
SingleTone e nada. Não testei passando por parâmetro(referência).
Deu pra entender meu problema? Preciso tornar o Hashtable
inicializado na classe principal público para todas as Threads, observe
que
essas Threads manipulam o Hash e são destruídas devendo o Hash permanecer
disponível com seu valor para as novas Threads que serão levantadas.
Henrique
---------------------------------------------------------------------
Para cancelar a subscri袯, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]