RE: Multithreading

From: [at]} <Wojtek>
Date: Thu, 20 Feb 2003 11:17:20 -0500 (EST)

----boundary-LibPST-iamunique-1939071307_-_-
Content-type: text/plain

On Wed, 19 Feb 2003, Martin, Marc wrote:

> >I am acquiring data
> >from a USB device using the standard Windows call
> >WinApi.DeviceIoControl. This call appears to be blocking,
> >i.e., it does not return unless the device sends the
> >requested data. In case the device does not have data,
> >the call stalls, and as a consequence BlackBox becomes
> >unresponsive (an hour glass appears on screen).
>
> Couldn't you simply use Blackbox's "Services.Action"
> routines to prevent the Blackbox framework from
> being unresponsive?

I do not think so. You have answered this question yourself below.
I have encountered the same problem. In case the WinApi.DeviceIoControl
does not return immediately, the single thread is blocked until it does.

I know from Wirth original books on Oberon System that "single
process multitasking" is advantageous in terms of the system
design. Multithreading must be more complicated because of the
thread synchronization, semaphores, and such. This is the
first time I encountered a problem which lets me think that
multithreading may be the solution. However, I do not know
how much we would gain versus how much we would lose in terms
of the BlackBox complexity.

>
> Although I'll always second any suggestion to improve
> the multi-threading capabilities of Blackbox -- I've been
> suggesting this since 1996! In my case, I have a long
> running command which calls a Fortran DLL which in
> turns calls my Blackbox code. Unfortunately, whenever
> the Fortran DLL is being executed, the Blackbox
> framework becomes unresponsive and I can no longer
> do anything in it until the Fortran DLL is finished.
> And there doesn't appear to be any way to use the
> "Services.Action" routines to fix this. I also once
> tried using Windows process threads to try to workaround
> this, but this caused the Blackbox framework to crash.


Wojtek Skulski skulski{([at]})nowhere.xy


--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.


----boundary-LibPST-iamunique-1939071307_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIE9uIFdlZCwgMTkgRmViIDIwMDMsIE1hcnRpbiwg
TWFyYyB3cm90ZTpccGFyDQpccGFyDQo+ID5JIGFtIGFjcXVpcmluZyBkYXRhXHBhcg0KPiA+ZnJv
bSBhIFVTQiBkZXZpY2UgdXNpbmcgdGhlIHN0YW5kYXJkIFdpbmRvd3MgY2FsbFxwYXINCj4gPldp
bkFwaS5EZXZpY2VJb0NvbnRyb2wuIFRoaXMgY2FsbCBhcHBlYXJzIHRvIGJlIGJsb2NraW5nLFxw
YXINCj4gPmkuZS4sIGl0IGRvZXMgbm90IHJldHVybiB1bmxlc3MgdGhlIGRldmljZSBzZW5kcyB0
aGVccGFyDQo+ID5yZXF1ZXN0ZWQgZGF0YS4gSW4gY2FzZSB0aGUgZGV2aWNlIGRvZXMgbm90IGhh
dmUgZGF0YSxccGFyDQo+ID50aGUgY2FsbCBzdGFsbHMsIGFuZCBhcyBhIGNvbnNlcXVlbmNlIEJs
YWNrQm94IGJlY29tZXNccGFyDQo+ID51bnJlc3BvbnNpdmUgKGFuIGhvdXIgZ2xhc3MgYXBwZWFy
cyBvbiBzY3JlZW4pLlxwYXINCj5ccGFyDQo+IENvdWxkbid0IHlvdSBzaW1wbHkgdXNlIEJsYWNr
Ym94J3MgIlNlcnZpY2VzLkFjdGlvbiJccGFyDQo+IHJvdXRpbmVzIHRvIHByZXZlbnQgdGhlIEJs
YWNrYm94IGZyYW1ld29yayBmcm9tXHBhcg0KPiBiZWluZyB1bnJlc3BvbnNpdmU/XHBhcg0KXHBh
cg0KSSBkbyBub3QgdGhpbmsgc28uIFlvdSBoYXZlIGFuc3dlcmVkIHRoaXMgcXVlc3Rpb24geW91
cnNlbGYgYmVsb3cuXHBhcg0KSSBoYXZlIGVuY291bnRlcmVkIHRoZSBzYW1lIHByb2JsZW0uIElu
IGNhc2UgdGhlIFdpbkFwaS5EZXZpY2VJb0NvbnRyb2xccGFyDQpkb2VzIG5vdCByZXR1cm4gaW1t
ZWRpYXRlbHksIHRoZSBzaW5nbGUgdGhyZWFkIGlzIGJsb2NrZWQgdW50aWwgaXQgZG9lcy5ccGFy
DQpccGFyDQpJIGtub3cgZnJvbSBXaXJ0aCBvcmlnaW5hbCBib29rcyBvbiBPYmVyb24gU3lzdGVt
IHRoYXQgInNpbmdsZVxwYXINCnByb2Nlc3MgbXVsdGl0YXNraW5nIiBpcyBhZHZhbnRhZ2VvdXMg
aW4gdGVybXMgb2YgdGhlIHN5c3RlbVxwYXINCmRlc2lnbi4gTXVsdGl0aHJlYWRpbmcgbXVzdCBi
ZSBtb3JlIGNvbXBsaWNhdGVkIGJlY2F1c2Ugb2YgdGhlXHBhcg0KdGhyZWFkIHN5bmNocm9uaXph
dGlvbiwgc2VtYXBob3JlcywgYW5kIHN1Y2guIFRoaXMgaXMgdGhlXHBhcg0KZmlyc3QgdGltZSBJ
IGVuY291bnRlcmVkIGEgcHJvYmxlbSB3aGljaCBsZXRzIG1lIHRoaW5rIHRoYXRccGFyDQptdWx0
aXRocmVhZGluZyBtYXkgYmUgdGhlIHNvbHV0aW9uLiBIb3dldmVyLCBJIGRvIG5vdCBrbm93XHBh
cg0KaG93IG11Y2ggd2Ugd291bGQgZ2FpbiB2ZXJzdXMgaG93IG11Y2ggd2Ugd291bGQgbG9zZSBp
biB0ZXJtc1xwYXINCm9mIHRoZSBCbGFja0JveCBjb21wbGV4aXR5LlxwYXINClxwYXINCj5ccGFy
DQo+IEFsdGhvdWdoIEknbGwgYWx3YXlzIHNlY29uZCBhbnkgc3VnZ2VzdGlvbiB0byBpbXByb3Zl
XHBhcg0KPiB0aGUgbXVsdGktdGhyZWFkaW5nIGNhcGFiaWxpdGllcyBvZiBCbGFja2JveCAtLSBJ
J3ZlIGJlZW5ccGFyDQo+IHN1Z2dlc3RpbmcgdGhpcyBzaW5jZSAxOTk2ISAgSW4gbXkgY2FzZSwg
SSBoYXZlIGEgbG9uZ1xwYXINCj4gcnVubmluZyBjb21tYW5kIHdoaWNoIGNhbGxzIGEgRm9ydHJh
biBETEwgd2hpY2ggaW5ccGFyDQo+IHR1cm5zIGNhbGxzIG15IEJsYWNrYm94IGNvZGUuICBVbmZv
cnR1bmF0ZWx5LCB3aGVuZXZlclxwYXINCj4gdGhlIEZvcnRyYW4gRExMIGlzIGJlaW5nIGV4ZWN1
dGVkLCB0aGUgQmxhY2tib3hccGFyDQo+IGZyYW1ld29yayBiZWNvbWVzIHVucmVzcG9uc2l2ZSBh
bmQgSSBjYW4gbm8gbG9uZ2VyXHBhcg0KPiBkbyBhbnl0aGluZyBpbiBpdCB1bnRpbCB0aGUgRm9y
dHJhbiBETEwgaXMgZmluaXNoZWQuXHBhcg0KPiBBbmQgdGhlcmUgZG9lc24ndCBhcHBlYXIgdG8g
YmUgYW55IHdheSB0byB1c2UgdGhlXHBhcg0KPiAiU2VydmljZXMuQWN0aW9uIiByb3V0aW5lcyB0
byBmaXggdGhpcy4gIEkgYWxzbyBvbmNlXHBhcg0KPiB0cmllZCB1c2luZyBXaW5kb3dzIHByb2Nl
c3MgdGhyZWFkcyB0byB0cnkgdG8gd29ya2Fyb3VuZFxwYXINCj4gdGhpcywgYnV0IHRoaXMgY2F1
c2VkIHRoZSBCbGFja2JveCBmcmFtZXdvcmsgdG8gY3Jhc2guXHBhcg0KXHBhcg0KXHBhcg0KV29q
dGVrIFNrdWxza2kgc2t1bHNraUBwYXMucm9jaGVzdGVyLmVkdVxwYXINClxwYXINClxwYXINCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0KVG8g
dW5zdWJzY3JpYmUgZnJvbSB0aGlzIG1haWxpbmcgbGlzdCwgc2VuZCBhIG1lc3NhZ2UgY29udGFp
bmluZyB0aGUgd29yZCAidW5zdWJzY3JpYmUiIHRvOlxwYXINCiAgIGJsYWNrYm94LXJlcXVlc3RA
b2Jlcm9uLmNoXHBhcg0KXHBhcg0KVG8gZ2V0IGEgbGlzdCBvZiB2YWxpZCBlLW1haWwgY29tbWFu
ZHMgYW5kIGluc3RydWN0aW9ucyBvbiB0aGVpciB1c2FnZSwgc2VuZCBhIG1lc3NhZ2UgY29udGFp
bmluZyB0aGUgd29yZCAiaGVscCIgdG8gdGhlIGFib3ZlIGFkZHJlc3MuXHBhcg0KXHBhcg0KU2Vu
ZCBhbnkgcHJvYmxlbSByZXBvcnRzIG9yIHF1ZXN0aW9ucyByZWxhdGVkIHRvIHRoaXMgZW1haWwg
bGlzdCB0byB0aGUgbGlzdCBvd25lciBhdFxwYXINCiAgIG93bmVyLWJsYWNrYm94QG9iZXJvbi5j
aFxwYXINClxwYXINCkN1cnJlbnQgcG9zdGluZyBwb2xpY3k6XHBhcg0KXHBhcg0KYSkgVG8gcG9z
dCB5b3Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBhZGRyZXNzIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2Ny
aWJlZCB0byB0aGUgbWFpbGluZyBsaXN0LiBUaGF0IHdheSwgdGhlIGxpc3Qgc2VydmVyIHdpbGwg
cmVjb2duaXplIHlvdSBhcyBzdWJzY3JpYmVyIGFuZCBmb3J3YXJkIHlvdXIgcG9zdGluZyBpbW1l
ZGlhdGVseSwgd2l0aG91dCBjcmVhdGluZyBhbnkgb3ZlcmhlYWQuXHBhcg0KXHBhcg0KYikgSWYs
IGZvciBzb21lIHJlYXNvbiwgeW91IGNhbm5vdCBwb3N0IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdo
aWNoIHlvdSBhcmUgc3Vic2NyaWJlZCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRv
IGF2b2lkIHNwYW0uIFBsZWFzZSB1bmRlcnN0YW5kIHRoYXQgbW9kZXJhdGlvbiB3aWxsIG9mdGVu
IGNhdXNlIHNvbWUgZGVsYXksIGluIHBhcnRpY3VsYXIgb3ZlciB3ZWVrZW5kcyBvciBob2x5ZGF5
cy5ccGFyDQp9


----boundary-LibPST-iamunique-1939071307_-_---
Received on Thu Feb 20 2003 - 17:17:20 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:29:26 UTC