Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.java > #13139
| Path | csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail |
|---|---|
| From | "Christian H. Kuhn" <qno-news@qno.de> |
| Newsgroups | de.comp.lang.java |
| Subject | Parallelprogrammierung |
| Date | Sat, 23 Sep 2017 16:44:27 +0200 |
| Lines | 51 |
| Message-ID | <f2naabFfb7jU1@mid.individual.net> (permalink) |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| X-Trace | individual.net 2Zhcasp8nD1c0GpZlXwrIwrFsW6mPL17JLJQ69tGasxkDtGmg= |
| Cancel-Lock | sha1:3P49pzmpkjwdMRCh9xgOr5AxkB4= |
| X-Mozilla-News-Host | snews://news.individual.net:563 |
| User-Agent | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
| Xref | csiph.com de.comp.lang.java:13139 |
Show key headers only | View raw
Hallo Gemeinde,
So langsam wird das was. Umfangreiches Refactoring dank der vielen Tips
hier: single responsibility, dependency injection deutlich besser,
umgesetzt. Tests verbessert dank Mockito, jimfs, von PowerMock nur
Whitebox. So langsam wird der Code vorzeigbar ;-)
Ein Problem habe ich noch.
public class QFdsbDatabase {
[...]
void importData([...]) {
[...]
}
public List<String[]>) exportData(String, String) {
[...]
}
}
exportData() und importData() schließen sich gegenseitig aus. Das bekäme
ich mit synchronized hin. Aber.
Es sollen mehrere Threads exportData() aufrufen können, ohne aufeinander
warten zu müssen.
importData() soll auf die Beendigung vom letzten exportData() warten.
exportData() soll nicht auf die Beendigung von importData() warten,
sondern eine Exception werfen. Die Wartezeit kann über eine Stunde
betragen, da scheint mir ein Abbruch besser.
Sobald importData() wartet, soll jeder exportData()-Aufruf eine
Exception werfen, nicht erst, sobald importData() rechnet.
Alles, was ich an Literatur zur Parallelprogrammierung gefunden habe,
geht davon aus, dass immer nur ein Thread im kritischen Bereich sein
darf. Dass wie hier bei exportData() mehrere Threads gleichzeitig laufen
dürfen und diese n Threads auf der einen Seite einem Thread
gegenüberstehen, habe ich nirgendwo gefunden. Auch habe ich nur
Literatur gefunden, in der ein blockierter Thread wartet und nicht via
Exception geregelt wird.
Dennoch scheint mir mein Problem nicht so abwegig, dass es nicht schon
irgendwo gelöst wurde. Und wenn ich keine Lösung finde, suche ich
falsch. Kann mich jemand auf das richtige Gleis heben?
TIA
QNo
Back to de.comp.lang.java | Previous | Next — Next in thread | Find similar
Parallelprogrammierung "Christian H. Kuhn" <qno-news@qno.de> - 2017-09-23 16:44 +0200
Re: Parallelprogrammierung Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-09-24 10:30 +0200
Re: Parallelprogrammierung "Christian H. Kuhn" <qno-news@qno.de> - 2017-10-03 15:40 +0200
Re: Parallelprogrammierung Patrick Roemer <sangamon@netcologne.de> - 2017-10-03 20:15 +0200
Re: Parallelprogrammierung Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-10-08 22:15 +0200
Re: Parallelprogrammierung Patrick Roemer <sangamon@netcologne.de> - 2017-10-09 12:36 +0200
Re: Parallelprogrammierung "Christian H. Kuhn" <qno-news@qno.de> - 2017-10-12 20:23 +0200
Re: Parallelprogrammierung Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-10-13 09:01 +0200
csiph-web