Article View: pl.comp.lang.java
Article #149844Re: czy wątki mogą świadczyć usługi?
From: andrzej salwicki
Date: Sun, 21 Mar 2010 17:44
Date: Sun, 21 Mar 2010 17:44
50 lines
2865 bytes
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-mailReferences:
<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