🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #149844

Re: czy wątki mogą świadczyć usługi?

#149844
From: andrzej salwicki
Date: Sun, 21 Mar 2010 17:44
50 lines
2865 bytes
Obawiam się, że pytanie jest zbyt trudne.

Rozważmy klasę Spooler, klasę Klient oraz trzy wątki s, a, b.

class Spooler extends Thread {
    synchronized void drukuj (Plik f) {  }
    void run ( ) { tu w kółko sprawdzamy czy jest cos do drukowania i
drukujemy }
}

Spooler s;
s.start()

class Klient extends Thread {

   void run (0 {
        ....
        call s.drukuj(...);
        ....
   }
}

Klient a,b;
   a= new Klient(Spooler s. ...);  a.start();
   b= new Klient(Spooler s, ...); b.start();

Taki lub podobny schemat chcemy zrealizować. Jak to będzie działać/

=============================================================

On 21 Mar, 18:07, nullpointer <i....@nie.dojdzie.pl> wrote:
> W dniu 2010-03-21 17:29, andrzej salwicki pisze:
>
> > Czy mo na w efektywny spos b zaprogramowa w tek A tak by pe ni swoje
> > zadanie i r wnocze nie by got w wiadczyc us ugi? Dok adniej, czy
> > inne w tki: B, C, ... mog wywo ywa metody publiczne, synchronized
> > w tku A, powoduj c chwilowe przerwanie akcji w tku A,[ciach]
>
> Obawiam si , e mylisz w tek z obiektem.
> W tek B mo e wykona metod x() na rzecz obiektu A (kt ry mo e, ale nie
> musi by instancj klasy pochodnej po Thread), ale to wywo anie wykona
> si w w tku B, a nie A.
>
> Je li chcesz aby w tek B "zleca " zadania do wykonania w tkowi A, to
> proponuj zainteresowa si interfejsem BlokingQueue i implementuj cymi
> go klasami, albo kolejkami w og le. No i wzorcami takimi jak Producer i
> Consumer.
>
> --
> np
Technical Details
Message-ID: <e0ba4244-1fee-4d67-b918-f4cb27360f2f@q21g2000yqm.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!q21g2000yqm.googlegroups.com!not-for-mail
References: <4c3b4f20-3f62-4e54-9e3c-298e4ea6c3e5@g10g2000yqh.googlegroups.com> <ho5jpd$gir$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!q21g2000yqm.googlegroups.com!not-for-mail
From: andrzej salwicki <salwicki@gmail.com>
Newsgroups: pl.comp.lang.java
Subject: Re: czy
 wątki mogą świadczyć usługi?
Date: Sun, 21 Mar 2010 10:44:49 -0700 (PDT)
Organization: http://groups.google.com
Lines: 53
Message-ID: <e0ba4244-1fee-4d67-b918-f4cb27360f2f@q21g2000yqm.googlegroups.com>
References: <4c3b4f20-3f62-4e54-9e3c-298e4ea6c3e5@g10g2000yqh.googlegroups.com>  <ho5jpd$gir$1@news.onet.pl>
NNTP-Posting-Host: 83.24.160.36
Mime-Version: 1.0
X-Trace: posting.google.com 1269193489 24800 127.0.0.1 (21 Mar 2010 17:44:49 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Sun, 21 Mar 2010 17:44:49 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: q21g2000yqm.googlegroups.com; posting-host=83.24.160.36;  posting-account=mOAt8AoAAAD-4GmZpFvOq4UfjMYbZdfY
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.10)  Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit