Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #13139

Parallelprogrammierung

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 | NextNext in thread | Find similar


Thread

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