🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #26906

Re: Semaforos?

#26906
From: Pere Vilas
Date: Mon, 23 Nov 1998 00:00
53 lines
2086 bytes
El tema es muy interesante... Pero ah� va una complicaci�n adicional. �Que
tal un procesador de transacciones?.
transaccion tr=transaccion.start();
tr.agregarEvento(Mievento evento);
tr.agregarEvento(Mievento evento);
tr.agregarEvento(Mievento evento);
tr.commit(); o bien tr.abortar();
�Alguien sabe como manejar esto de forma un poco gen�rica?.

En cuanto a tu pregunta, no se si esto te servir� per desde luego a mi me
funciona en un caso parecido al tuyo. Sesde luego, consume recursos pero
puede ser util si la cola no va estar casi nunca vacia

// esta clase puede ser est�tica

class Buffer {
    public synchronized void put(MiEvento evento) {}
    public synchronized evento get() {}
    public synchronized boolean isEmpty() {}
}

// aqui tu servidor
   // crear Buffer
   // crear un consumidor y arrancarlo
   //para cada cliente aceptado, crear un clienteProductor y arrancarlo

// aqui tu propia implementaci�n de cliente
class clienteProductor extends Thread {
Buffer buf;
Socket sk;
    public productor(Buffer buf, Socket sk) { this.buf=buf;  this.sk=sk;}
    public synchronized run() { if el socket quiere grabar evento, hacer
put }
    public void put() { buf.put(new evento()); }
}

class consumidor extends Thread {
Buffer buf;

    public consumidor(Buffer buf) { this.buf=buf; }

    public synchronized run() {
      while(true) {
        if (!buf.isEmpty())

             evento=buf.get();
             evento.grabaTe(fichero_log);
        }
      }
}


Saludos.
Technical Details
Message-ID: <73c0rb$dd4$1@talia.mad.ibernet.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <36574A51.960FA5E5@caymasa.es> <36574C25.C636DE42@jet.es> <365757EE.AEEA8469@caymasa.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,181288f97891cea2
X-Google-Attributes: gid1116f3,public
From: "Pere Vilas" <pvilas-quitar@apdo.com>
Subject: Re: Semaforos?
Date: 1998/11/23
Message-ID: <73c0rb$dd4$1@talia.mad.ibernet.es>
X-Deja-AN: 414831687
References: <36574A51.960FA5E5@caymasa.es> <36574C25.C636DE42@jet.es> <365757EE.AEEA8469@caymasa.es>
X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3
Organization: BES Inform�tica i Telecomunicacions, S.L.
Newsgroups: es.comp.lenguajes.java