[f2py] threading with f2py
Marcin Modrzejewski
m.m.modrzejewski at gmail.com
Wed Jul 15 04:19:13 EEST 2009
TWF5YmUgeW91IHNob3VsZCB0cnkgRjJQWSArIEZvcnRyYW4gY29kZSArIE9wZW5NUC4KCk9uIFdl
ZCwgSnVsIDE1LCAyMDA5IGF0IDI6MzggQU0sIGNoYXJsaWUgc3RyYXVzcyA8Y2Vtc0BsYW5sLmdv
dj4gd3JvdGU6Cgo+IEkgY2FtZSBhY3Jvc3MgdGhlIGZvbGx3b2luZyBkaXNjdXNzaW9uIG9mIHRo
cmVhZHMgaW4gZm9ydHJhbiwgd2hpY2ggc2VlbXMKPiB0byBzdWdnZXN0IHRoYXQgYmVjYXVzZSBm
b3J0cmFuIGl0c2VsZiBpcyBub24tcmVuZXRyYW50IHRoYXQgdGhyZWFkaW5nIGluCj4gZjJweSBp
cyBnb2luZyB0byBiZSBpbXBvc3NpYmxlIGFzIGEgd2F5IHRvIGdhaW4gcGVyZm9ybWFuY2UuCj4K
PiBodHRwOi8vbWF0aC5hcml6b25hLmVkdS9+c3dpZy9kb2N1bWVudGF0aW9uL3B0aHJlYWRzLyNm
b3J0cmFuPGh0dHA6Ly9tYXRoLmFyaXpvbmEuZWR1LyU3RXN3aWcvZG9jdW1lbnRhdGlvbi9wdGhy
ZWFkcy8jZm9ydHJhbj4KPgo+IFRocmVhZHMgYW5kCj4gICAgICAgICAgIEZPUlRSQU4KPgo+ICAg
ICAgICAgICBJdCBpcyBhIHNhZCBmYWN0IHRoYXQgRk9SVFJBTiBtYWtlcyBpbXBsaWNpdCB1c2Ug
b2YKPiAgICAgICAgICAgZ2xvYmFsIGRhdGEuIEZvciBleGFtcGxlLCBpbiB0aGUgY29kZSBmcmFn
bWVudAo+Cj4KPgo+Cj4KPiAgICAgICAgIHN1YnJvdXRpbmUgc3ViCj4gICAgICAgICBpbnRlZ2Vy
IGkKPgo+ICAgICAgICAgZG8gaT0xLDEwMAo+ICAgICAgICAgICAuLi4KPiAgICAgICAgIGVuZCBk
bwo+Cj4gdGhlIHRlbXBvcmFyeSBsb29wIHZhcmlhYmxlIGkgaXMgcHJvYmFibHkgaW4gdGhlIGds
b2JhbCBkYXRhCj4gc2VnbWVudC4gVGhlIG9ubHkgd2F5IHRoaXMgc3Vicm91dGluZSBjYW4gcnVu
IGluIHBhcmFsbGVsICh1c2luZwo+IHB0aHJlYWRzKSBpcyB0byBsb2NrIHRoZSBlbnRpcmUgbG9v
cCB3aXRoIGEgbXV0ZXggLS0gdGhlcmUgaXMgbm8KPiBvdGhlciB3YXkgdG8gcHJvdGVjdCB0aGUg
bG9vcCBjb3VudGVyIGkuIEluIG90aGVyIHdvcmRzLCB5b3UgY2Fubm90Cj4gcnVuIGl0IGluIHBh
cmFsbGVsIHVzaW5nIHB0aHJlYWRzICh0aGlzIGlzIG5vdCBxdWl0ZSB0cnVlOiB0aGUgREVDCj4g
Rk9SVFJBTiBjb21waWxlciBoYXMgYW4gb3B0aW9uIHRoYXQgd2lsbCBhbGxvY2F0ZSBpIG9uIHRo
ZSBzdGFjazsKPiBob3dldmVyLCB0aGlzIGlzIGhpZ2hseSBub25wb3J0YWJsZSBhbmQgcHJvYmFi
bHkgbm90IHdvcnRoIGRvaW5nKS4KPiBUaGUgZnVuZGFtZW50YWwgcHJvYmxlbSBpcyB0aGF0IEZP
UlRSQU4gY29kZSBpcywgYnkgZGVmaW5pdGlvbiwKPiBub24tcmVlbnRyYW50OyBpdCBpcyBpbGxl
Z2FsIGZvciBhIEZPUlRSQU4gc3Vicm91dGluZSB0byBjYWxsCj4gaXRzZWxmIHJlY3Vyc2l2ZWx5
LCBlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4KPgo+Cj4gLS0tLS0tLQo+Cj4gdG8gdHJ5
IGFub3RoZXIgcm91dGUgSSBqdXN0IHRyaWVkIHVzaW5nIG9zLmZvcmsoKSBvbiBhIG1hY2ludG9z
aCBvcyAxMC41Cj4KPiB0aGlzIHRpbWUgaXQgd29ya2VkIHVwIHRvIGEgcG9pbnQuICBuYW1lbHks
IHRoZSBmb3JrIHByb2R1Y2VkIG11bHRpcGxlCj4gY29uY3VycmVudCBqb2JzIGFsbCBydW5uaW5n
IGF0IDEwMCUgZWFjaCBmb3IgYSB0b3RhbCBvZiA4MDAlIHByb2Nlc3Nvcgo+IHV0aWxpemF0aW9u
Lgo+Cj4gaG93ZXZlciwgIGFmdGVyIHNvbWUgdGltZSBteSBpcHl0aG9uIHdpbmRvdyBqdXN0IHN0
YXJ0ZWQgc3Bld2luZyBzdHJhbmdlCj4gZXJyb3IgbWVzc2FnZXMuIHRoZW4gdGhlIG1hYyBvcyBj
cmFzaCByZXBvcnRlciBmaXJlZCB1cC4gIEkgZG9uJ3Qga25vdyB3aGVyZQo+IHRoZXNlIGFyZSBj
b21pbmcgZnJvbSwgaXB5aHRvbj8gIGYycHk/ICBmb3J0cmFuPyAgc29tZXRoaW5nIGVsc2U/Cj4K
PiBpbiBhbnljYXNlIHRoZSBqb2JzIGRpZCBleGl0IGFuZCBpcHl0aG9uIGNhbWUgYmFjayB0byB0
aGUgY29tbWFuZCBsaW5lCj4gcHJvbXQuCj4KPiBoZXJlJ3MgdGhlIG1lc3NhZ2UgcmVwZWF0ZWQg
bWFueSBtYW55IG1uYXkgdGltZXMgOgo+Cj4gKS4KPiBCcmVhayBvbgo+IF9fVEhFX1BST0NFU1Nf
SEFTX0ZPUktFRF9BTkRfWU9VX0NBTk5PVF9VU0VfVEhJU19DT1JFRk9VTkRBVElPTl9GVU5DVElP
TkFMSVRZX19fWU9VX01VU1RfRVhFQ19fKCkKPiB0byBkZWJ1Zy4KPiBUaGUgcHJvY2VzcyBoYXMg
Zm9ya2VkIGFuZCB5b3UgY2Fubm90IHVzZSB0aGlzIENvcmVGb3VuZGF0aW9uIGZ1bmN0aW9uYWxp
dHkKPiBzYWZlbHkuIFlvdSBNVVNUIGV4ZWMoKS4KPiBCcmVhayBvbgo+IF9fVEhFX1BST0NFU1Nf
SEFTX0ZPUktFRF9BTkRfWU9VX0NBTk5PVF9VU0VfVEhJU19DT1JFRk9VTkRBVElPTl9GVU5DVElP
TkFMSVRZX19fWU9VX01VU1RfRVhFQ19fKCkKPiB0byBkZWJ1Zy4KPgo+IC4uLi4uLmV0Yy4uLi4u
Cj4KPgo+IGFuZCBoZXJlIGlzIHRoZSBjb2RlIHNuaXBwZXQ6Cj4KPiBpbXBvcnQgb3MKPiBpbXBv
cnQgc3lzCj4gZGVmIHRyeVRvRm9yayhjYmssIGZvcms9VHJ1ZSk6Cj4KPiAgICAgcHJpbnQgInRy
eWluZyB0byBmb3JrIixjYmsKPiAgICAgI1VOSVgvTElOVVg6IEZPUksKPiAgICAgaWYgZm9yazoK
PiAgICAgICAgIHRyeToKPiAgICAgICAgICAgICAjRm9yayBhbmQgY29tbWl0IHN1aWNpZGUKPiAg
ICAgICAgICAgICBpZiBvcy5mb3JrKCk6Cj4gICAgICAgICAgICAgICAgcHJpbnQgImNoaWxkIgo+
ICAgICAgICAgICAgICAgIHJldHVybgo+Cj4gICAgICAgICAgICAgI1doYXQgdG8gZG8gaW4gcGFy
ZW50IHByb2Nlc3MKPiAgICAgICAgICAgICBlbHNlOgo+ICAgICAgICAgICAgICAgICBwcmludCAi
cGFyZW50Igo+Cj4gICAgICAgICAgICAgICAgICMgY2FsbCB0aGUgZjJweSBpbXBvcnRlZCBjb2Rl
IGhlcmU6Cj4gICAgICAgICAgICAgICAgIHJfaW5kZXggPQo+IHouY2h1bmsod3cyLHd3LGRhdGEs
bmV3X3d3LG5ld193d19jb3VudCxuX3dlaWdodHMsbl92ZWNzLHZlY193aWR0aCkKPiAgICAgICAg
ICAgICAgICAgcHJpbnQgIiBmb3JrIGRvbmUiCj4gICAgICAgICAgICAgICAgIHN5cy5leGl0KCkK
Pgo+IGZvciBpIGluIHJhbmdlKDgpOgo+ICAgICB0cnlUb0ZvcmsoaSkKPgo+Cj4KPgo+Cj4KPiBP
biBKdWwgMTQsIDIwMDksIGF0IDY6MDcgUE0sIGNoYXJsaWUgc3RyYXVzcyB3cm90ZToKPgo+IEFz
IHlvdSBtYXkga25vdyBweXRob24gdGhyZWFkaW5nLCB1bmxlc3MgdGhlaXIgaXMgYSBuZXcgbW9k
dWxlIGZvciBpdCwKPiBzdWZmZXJzIGZyb20gdGhlIGN1cnNlIG9mIHRoZSBnbG9iYWwgbG9jay4K
Pgo+IHRvIHJlbWluZCB5b3UsIGl0IG1lYW5zIHRoYXQgcHl0aG9uIHRocmVhZGluZyBuZXZlciBp
cyBhYmxlIHRha2UgYWR2YW50YWdlCj4gb2YgaGF2aW5nIG1vcmUgdGhhbiBvbmUgQ1BVIGJlY2F1
c2UgZXZlcnkgdGltZSBpdCBnb2VzIHRvIGFjY2VzcyBhbnkKPiB2YXJpYWJsZSwgaXQgbG9ja3Mg
YWxsIHZhcmlhYmxlcywgYmxvY2tpbmcgYWxsIG90aGVyIHRocmVhZHMgZm9yIGFjY2Vzc2luZwo+
IGFueSB2YXJpYWJsZS4gIFRodXMgaXQgY2FuIG9ubHkgdGltZXNsaWNlIGEgc2luZ2xlIHByb2Nl
c3Mgbm90IGhhdmUKPiBjb25jdXJyZW50IHByb2Nlc3Nlcy4gIGkuZS4gdGhyZWFkcyB0cnVseSBz
dGluayBpbiBweXRob24gaW4gdGVybXMgb2YKPiBwcm9jZXNzb3IgdXRpbGl6YXRpb24sIGJ1dCBz
dGlsbCBoYXZlIHRoZWlyIHVzZXMgZm9yIHJlc3BvbmRpbmcgdG8gZXZlbnRzLgo+Cj4gTm93IEkg
aGFkIHJlYWQgdGhhdCB0aGUgZXhjZXB0aW9uIHRvIHRoaXMgaXMgdGhhdCBhbnkgY2FsbHMgdG8g
Yy1jb2RlIG9yCj4gZm9ydHJhbiwgc3VjaCBhcyBoYXBwZW4gZHVyaW5nIEkvTyByZWxlYXNlIHRo
ZSBnbG9iYWwgbG9jayBhbmQgdGh1cyBhcmUgbm90Cj4gYmxvY2tpbmcgd2hpbGUgaW4gdGhlIGJp
bmFyeS4KPgo+IEkgbXVzdCBoYXZlIG1pc3VuZGVyc3Rvb2QgdGhhdC4gIE9yIGVsc2UgSSdtIGRv
aW5nIHNvbWV0aGluZyB3cm9uZy4KPgo+IHdoYXQgSSBkaWQgd2FzIEkgY3JlYXRlZCBzb21lIGZv
cnRyYW4gY29kZSBhbmQgd3JhcHBlZCBpZiB3aXRoIGYycHkuICAgSQo+IHRoZW4gY2FsbCB0aGlz
IGNvZGUgZnJvbSBpbnNpZGUgbXVsdGlwbGUgcHl0aG9uIHRocmVhZHMuCj4KPiBub3cgd2hhdCBJ
IGV4cGVjdGVkIHRvIGhhcHBlbiB3YXMgdG8gc2VlIG15IHByb2Nlc3NvciB1dGlsaXphdGlvbiBq
dW1wIHVwCj4gZnJvbSBhIG1lcmUgMTAwJSB0byA4MDAlIHNpbmNlIEkgaGF2ZSA4IGNwdXMgYW5k
IEkgaGF2ZSA4IHRocmVhZHMuCj4KPiBpbnN0ZWFkIG15IHByb2Nlc3NvciB1dGlsaXphdGlvbiBp
cyBzdGlsbCAxMDAlIG5vdCA4MDAlLgo+Cj4gLS0tLS0KPgo+IHJlZ3Jlc3Npb246Cj4KPiBhdCBm
aXJzdCBJIHdhcyBjYWxsaW5nIG15IGNvZGUgbGlrZSB0aGlzOgo+Cj4gZnJvbSB0aHJlYWRpbmcg
aW1wb3J0IFRocmVhZAo+Cj4gY2xhc3MgdGVzdGl0KFRocmVhZCk6Cj4KPiAgZGVmIF9faW5pdF9f
KHNlbGYsIHIseCk6Cj4gICAgICAgIFRocmVhZC5fX2luaXRfXyhzZWxmKQo+IHNlbGYueCA9IHgK
PiBzZWxmLnIgPSByCj4KPiAgZGVmIHJ1biAoc2VsZik6Cj4gICAgcHJpbnQgInN0YXJ0aW5nIgo+
ICAgIHNlbGYuciA9IG15Y29kZSggc2VsZi54KQo+Cj4gIyBpbnN0YW50aWF0ZSA4IHRocmVhZHMK
Pgo+IHggPSBhcmFuZ2UoMykKPiByID0gYXJhbmdlKDMpCj4gZm9yIHIgaW4gcmFuZ2UoOCk6Cj4g
ICBjdXJyZW50ID0gdGVzdGl0KHIseCkKPiAgIHRsaXN0LmFwcGVuZChjdXJyZW50KQo+Cj4gIyBz
dGFydCB0aGUgdGhlYWRzCj4gZm9yIHQgaW4gdGxpc3Q6Cj4gICB0LnN0YXJ0KCkKPgo+Cj4KPiB3
aGVyZSB4IGFuZCByIHdlcmUgYXJyYXlzIEkgcGFzc2VkIGluIGR1cmluZyB0aGUgX19pbml0X18g
dGhhdCBhcmUgdGhlbgo+IHVzZWQgaW4gdGhlIG15Y29kZSgpIGNhbGwuCj4KPiB3aGF0IHRoaXMg
ZGlkIHdhcyBvbmNlIEkgc3RhcnRlZCBvbmUgdGhyZWFkLCBub25lIG9mIHRoZSBvdGhlcnMgY291
bGQgYmUKPiBzdGFydGVkIHRpbGwgdGhlIGZpcnN0IG9uZSBmaW5pc2hlZC4KPgo+IHRoZSBhcHBh
cmVudCByZWFzb24gZm9yIHRoaXMgd2FzIHRoYXQgdGhlIG15Y29kZSgpIGNhbGwgd2FzIHBhc3Np
bmcgaW4gYW5kCj4gb3V0IGFycmF5cyB0aGF0IHdlcmUgbm90IGxvY2FsIHRvIHRoZSBpbnN0YW5j
ZSwgdGhhdCB0aGVzZSB3ZXJlIGdldHRpbmcKPiBsb2NrZWQgYW5kIGJsb2NraW5nIHRoZSBwYXJl
bnQgdGhyZWFkIGZyb20gc3RhcnRpbmcgYW55IG1vcmUgdGhyZWFkcy4KPgo+IE9rYXkgc28gSSAi
Zml4ZWQiIHRoaXMgYnkgbWFraW5nIGxvY2FsIGNvcGllcyBvZiB0aGUgYXJyYXlzIHNvIHRoZXJl
IHdlcmUKPiBubyBub24tbG9jYWwgdmFyaWFibGVzIGluIHRoZSBydW4oKSBtZXRob2QuCj4KPgo+
IGZyb20gdGhyZWFkaW5nIGltcG9ydCBUaHJlYWQKPgo+IGNsYXNzIHRlc3RpdChUaHJlYWQpOgo+
Cj4gIGRlZiBfX2luaXRfXyhzZWxmLCByLHgpOgo+ICAgICAgICBUaHJlYWQuX19pbml0X18oc2Vs
ZikKPiBzZWxmLnggPSB4LmNvcHkoKQo+IHNlbGYuciA9IHIuY29weSgpCj4KPiBkZWYgcnVuIChz
ZWxmKToKPiAgICBwcmludCAidGhyZWFkIGlzIHJ1bm5pbmciCj4gICAgc2VsZi5yID0gbXljb2Rl
KCBzZWxmLngpCj4KPiBub3RlIHRoZSBhZGRlZCAuY29weSgpIGluIHRoZSBpbml0KCksIHNvIG5v
dyBydW4oKSBvbmx5ICBoYXMgbG9jYWwgaW5zdGFuY2UKPiB2YXJpYWJsZXMuCj4KPiB3aGVuIEkg
cnVuIHRoaXMsIGluZGVlZCBhbGwgdGhlIHJ1bigpIGNvbW1hbmRzIGV4ZWN1dGUgYW5kIGFubm91
bmNlIHRoZXkKPiBhcmUgcnVubmluZy4gIHRpbWUgcGFzc2VzIGFuZCB0aGVuIGEgbG9uZyB0aW1l
IGxhdGVyIHRoZXkgYWxsIGZpbmlzaCB3aXRob3V0Cj4gZXJyb3JzLgo+Cj4gYnV0IHRoZSBDUFUg
bmV2ZXIgZ2V0cyB1cCB0byBtb3JlIHRoYW4gMTAwJQo+Cj4gVGhlIG9ubHkgdGhpbmcgSSBjYW4g
dGhpbmsgb2YgaXMgdGhhdCBlaXRoZXIKPgo+IDEpICBJIGRvbid0IHVuZGVyc3RhbmQgdGhyZWFk
aW5nIGluIHB5dGhvbgo+Cj4gMikgdGhhdCB3aGVuIEkgbGlua2VkIGluIG15Y29kZSgpIHVzaW5n
ICBmMnB5ICB0aGF0IHRoaXMgcHV0IGluIHNvbWUgbGF5ZXIKPiB0aGF0IGhhcyBzb21lIHB5dGhv
biB2YXJpYWJsZSB0aGF0IGlzIHNoYXJlZCBieSBhbGwgY2FsbHMgdG8gbXljb2RlKCkuICBhcyBh
Cj4gcmVzdWx0LCBweXRob24gaXMgYmxvY2tpbmcgaW4gdGhlIHdyYXBwZXIgYmVmb3JlIGl0IGdl
dHMgaW50byB0aGUgZm9ydHJhbgo+IGJpbmFyeS4KPgo+IGFueSBzdWdnZXN0aW9ucyAgKGFuZCBk
b24ndCBzYXkgICJoZXkgaWYgeW91IHdhbnQgcmVhbCB0aHJlYWRpbmcgdHJ5IHBlcmwiCj4gICkK
Pgo+IG1heWJlIHRoZXJlJ3Mgc29tZSBuZXcgdGhyZWFkaW5nIGxpYnJhcnkgaW4gcHl0aG9uIGJl
c2lkZXMgVGhyZWFkIHRoYXQgZG9lcwo+IHRocmVhZCByaWdodCBvciBzb21lIHRyaWNrIGkgY2Fu
IGRvIHdpdGggZjJweSB0aGF0IGRvZXMgbm90IHNoYXJlIGFueQo+IHZhcmlhYmxlcz8KPgo+Cj4K
Pgo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+
IGYycHktdXNlcnMgbWFpbGluZyBsaXN0Cj4gZjJweS11c2Vyc0BjZW5zLmlvYy5lZQo+IGh0dHA6
Ly9jZW5zLmlvYy5lZS9tYWlsbWFuL2xpc3RpbmZvL2YycHktdXNlcnMKPgo+Cj4gQ2hhcmxpZSBT
dHJhdXNzCj4gQmlvc2NpZW5jZSBEaXZpc2lvbgo+IGNlbXNAbGFubC5nb3YKPiA1MDUgNjY1IDQ4
MzgKPiAqUXVpZHF1aWQgbGF0aW5lIGRpY3R1bSBzaXQsIGFsdHVtIHNvbmF0dXIuKgo+Cj4KPiBf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGYycHktdXNl
cnMgbWFpbGluZyBsaXN0Cj4gZjJweS11c2Vyc0BjZW5zLmlvYy5lZQo+IGh0dHA6Ly9jZW5zLmlv
Yy5lZS9tYWlsbWFuL2xpc3RpbmZvL2YycHktdXNlcnMKPgo+CgoKLS0gCk0uIE1vZHJ6ZWpld3Nr
aQotLS0tLS0tLS0tLS0tLSBuZXh0IHBhcnQgLS0tLS0tLS0tLS0tLS0KQW4gSFRNTCBhdHRhY2ht
ZW50IHdhcyBzY3J1YmJlZC4uLgpVUkw6IGh0dHA6Ly9jZW5zLmlvYy5lZS9waXBlcm1haWwvZjJw
eS11c2Vycy9hdHRhY2htZW50cy8yMDA5MDcxNS81NTZlYzZiOS9hdHRhY2htZW50LTAwMDEuaHRt
Cg==
More information about the f2py-users
mailing list