Re: Better RecursiveTask Example

Doug Lea via Concurrency-interest <[email protected]> Wed, 24 Nov 2021 15:36:36 -0500
Newsgroups gmane.comp.java.jsr.166-concurrency
Message-ID <[email protected]>
Ck9uIDExLzI0LzIxIDI6MTUgUE0sIERyIEhlaW56IE0uIEthYnV0eiB2aWEgQ29uY3VycmVuY3kt
aW50ZXJlc3Qgd3JvdGU6Cj4gRXZlcnkgdGltZSBJIHNlZSB0aGUgZXhhbXBsZSBpbiBSZWN1cnNp
dmVUYXNrIEkgaGF2ZSB0byBjcmluZ2U6CgpUaGUgaW5pdGlhbCByYXRpb25hbGUgd2FzIHRoYXQg
Im5lYXJseSBldmVyeW9uZSIga25vd3MgRmlib25hY2NpIHNvIGl0IApkb2Vzbid0IG5lZWQgbXVj
aCBleHBsYW5hdGlvbiBpdC4gYnV0IHlvdSBhcmUgcmlnaHQgdGhhdCBldmVuIG1vcmUgCnBlb3Bs
ZSBrbm93IGZhY3RvcmlhbCwgYW5kIHRoZSBCaWdJbnRlZ2VyIHZlcnNpb24gZml0cyBSZWN1cnNp
dmVUYXNrIAp3aXRob3V0IG5lZWRpbmcgY2F2ZWF0cywgc28gd2Ugc2hvdWxkIHVzZSBpdDsgdGhh
bmtzLiBIZXJlJ3MgYSBqYXZhZG9jJ2QgCnZlcnNpb24gb2YgeW91ciBleGFtcGxlLiBBbnkgb2Jq
ZWN0aW9ucyB0byB1c2luZyBpdD8KCgogwqAqCiDCoCogPHByZT4ge0Bjb2RlCiDCoCogcHVibGlj
IGNsYXNzIEZhY3RvcmlhbFRhc2sgZXh0ZW5kcyBSZWN1cnNpdmVUYXNrPEJpZ0ludGVnZXI+IHsK
IMKgKsKgwqAgcHJpdmF0ZSBmaW5hbCBpbnQgZnJvbSwgdG87CiDCoCrCoMKgIHB1YmxpYyBGYWN0
b3JpYWxUYXNrKGludCBuKSB7IHRoaXMoMCwgbik7IH0KIMKgKsKgwqAgcHJpdmF0ZSBGYWN0b3Jp
YWxUYXNrKGludCBmcm9tLCBpbnQgdG8pIHsgdGhpcy5mcm9tID0gZnJvbTsgCnRoaXMudG8gPSB0
bzsgfQogwqAqwqDCoCBwcm90ZWN0ZWQgQmlnSW50ZWdlciBjb21wdXRlKCkgewogwqAqwqDCoMKg
wqAgaWYgKGZyb20gPT0gdG8pwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAvLyBiYXNlIGNhc2UKIMKgKsKgwqDCoMKgwqDCoCByZXR1cm4gKGZyb20gPT0gMCkg
PyBCaWdJbnRlZ2VyLk9ORSA6IEJpZ0ludGVnZXIudmFsdWVPZihmcm9tKTsKIMKgKsKgwqDCoMKg
IGludCBtaWQgPSAoZnJvbSArIHRvKSA+Pj4gMTvCoMKgwqDCoMKgwqDCoMKgwqDCoCAvLyBzcGxp
dCBpbiBoYWxmCiDCoCrCoMKgwqDCoCBGYWN0b3JpYWxUYXNrIGxlZnRUYXNrID0gKG5ldyBGYWN0
b3JpYWxUYXNrKGZyb20sIG1pZCkpLmZvcmsoKTsKIMKgKsKgwqDCoMKgIEZhY3RvcmlhbFRhc2sg
cmlnaHRUYXNrID0gbmV3IEZhY3RvcmlhbFRhc2sobWlkICsgMSwgdG8pOwogwqAqwqDCoMKgwqAg
QmlnSW50ZWdlciByaWdodCA9IHJpZ2h0VGFzay5pbnZva2UoKTsgLy8gcGVyZm9ybSBoYWxmIHRo
ZSB3b3JrIApsb2NhbGx5CiDCoCrCoMKgwqDCoCBCaWdJbnRlZ2VyIGxlZnQgPSBsZWZ0VGFzay5q
b2luKCk7CiDCoCrCoMKgwqDCoCByZXR1cm4gbGVmdC5tdWx0aXBseShyaWdodCk7CiDCoCrCoMKg
IH0KIMKgKiB9fTwvcHJlPgogwqAqCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpDb25jdXJyZW5jeS1pbnRlcmVzdCBtYWlsaW5nIGxpc3QKQ29uY3VycmVu
Y3ktaW50ZXJlc3RAY3Mub3N3ZWdvLmVkdQpodHRwOi8vY3Mub3N3ZWdvLmVkdS9tYWlsbWFuL2xp
c3RpbmZvL2NvbmN1cnJlbmN5LWludGVyZXN0Cg==