Forums Neueste Beiträge
 

Parallelverarbeitung in WF ParallelActivity - Sub-Activity blockiert den gesamten WF

17/10/2007 - 21:20 von Wolfgang Schlicker | Report spam
Hallo Newsgroup,

ich möchte in einer ParallelActivity meines Workflows zwei CustomActivities
parallel ausführen. Beide Custom Activities delegieren ihre Anfrage an
unterschiedliche "Labview VI's" von National Instruments (via VI
AutomationServer). Leider kenne ich den VI Code nicht und kann daher nichts
über das Threading dieser VI's aussagen, allerdings ist es so, dass ein VI
den gesamten WF blockiert. Erst wenn ich dieses VI innerhalb Labview durch
einen internen Event "freigebe", làuft der WF mit der zweiten CustomActivity
weiter.

Eigentlich hàtte ich gedacht, dass ParallelActivities in zwei Threads
ablaufen und somit unabhàngig voneinander laufen würden, dies scheint aber
nicht wirklich so zu sein. Es scheint eher ein kooperatives Threading
implementiert zu sein.

Ich habe die ParallelActivity einmal mit den Microsoft mitgelieferten
DelayActivities getestet. Hier funktioniert der WF problemlos, soll heissen,
beide Programmfàden werden scheinbar parallel abgearbeitet.

Für jeden Hinweis bin ich dankbar.
Vielleicht gibt es ja die Möglichkeit das Threading der WF Engine für
blockierende Activities in einer ParallelActivity umzukonfigurieren.

Grüsse,
Wolfgang

PS: VI steht für Virtuelles Instrument
 

Lesen sie die antworten

#1 Wolfgang Schlicker
17/10/2007 - 22:38 | Warnen spam
weiterer Hinweis:
die WF Anwendung selbst làuft als STAThread und ist Windows Forms basiert.
Die Anbindung an den Labview Automation Server erfolgt dynamisch über das
Reflection API. Es wird also keine Interop Assembly generiert/benutzt.
Möglicherweise blockiert die RCW. Werde mal in dieser Richtung
nachforschen:-)

"Wolfgang Schlicker" schrieb im Newsbeitrag
news:
Hallo Newsgroup,

ich möchte in einer ParallelActivity meines Workflows zwei
CustomActivities parallel ausführen. Beide Custom Activities delegieren
ihre Anfrage an unterschiedliche "Labview VI's" von National Instruments
(via VI AutomationServer). Leider kenne ich den VI Code nicht und kann
daher nichts über das Threading dieser VI's aussagen, allerdings ist es
so, dass ein VI den gesamten WF blockiert. Erst wenn ich dieses VI
innerhalb Labview durch einen internen Event "freigebe", làuft der WF mit
der zweiten CustomActivity weiter.

Eigentlich hàtte ich gedacht, dass ParallelActivities in zwei Threads
ablaufen und somit unabhàngig voneinander laufen würden, dies scheint aber
nicht wirklich so zu sein. Es scheint eher ein kooperatives Threading
implementiert zu sein.

Ich habe die ParallelActivity einmal mit den Microsoft mitgelieferten
DelayActivities getestet. Hier funktioniert der WF problemlos, soll
heissen, beide Programmfàden werden scheinbar parallel abgearbeitet.

Für jeden Hinweis bin ich dankbar.
Vielleicht gibt es ja die Möglichkeit das Threading der WF Engine für
blockierende Activities in einer ParallelActivity umzukonfigurieren.

Grüsse,
Wolfgang

PS: VI steht für Virtuelles Instrument

Ähnliche fragen