[ruby-core:109559] [Ruby master Feature#18965] Further Thread::Queue improvements
From:
"chrisseaton (Chris Seaton)" <noreply@...>
Date:
2022-08-18 18:30:40 UTC
List:
ruby-core #109559
SXNzdWUgIzE4OTY1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgY2hyaXNzZWF0b24gKENocmlzIFNlYXRv bikuCgoKSSB3YXMgZ29pbmcgdG8gY29tbWVudCB0aGF0IGFkZGluZyBvciByZW1vdmluZyBtdWx0 aXBsZSBpdGVtcyBmcm9tIGEgcXVldWUgaXMgbGlrZWx5IG5vdCBncmVhdCBmb3IgaW1wbGVtZW50 YXRpb24sIGFzIHdlJ2QgbmVlZCBhIGxvY2sgdG8gbWFrZSB0aGF0IGF0b21pYyAob3Igc29tZSBn b29kIGlkZWFzIG9mIGhvdyB0byBkbyBpdCBvdGhlcndpc2UuKSBCdXQgdGhlbiBJIGxvb2tlZCBh dCBUcnVmZmxlUnVieSBhbmQgZXZlbiB3ZSdyZSB1c2luZyBhIGxvY2sgYW55d2F5LCBzbyBub3Ro aW5nIGhlcmUgaXMgYSBwcm9ibGVtLgoKV2Ugc2hvdWxkIGNhcmVmdWxseSBzcGVjaWZ5IGhvdyBh dG9taWMgdGhpcyBvcGVyYXRpb24gaXMgc3VwcG9zZWQgdG8gYmUgdGhvdWdoIQoKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxODk2NTogRnVydGhlciBU aHJlYWQ6OlF1ZXVlIGltcHJvdmVtZW50cwpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1 ZXMvMTg5NjUjY2hhbmdlLTk4NzMwCgoqIEF1dGhvcjogYnlyb290IChKZWFuIEJvdXNzaWVyKQoq IFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQpGb2xsb3dpbmcgdGhlIHJlY2VudCBhZGRpdGlvbiBvZiBhIGB0aW1l b3V0YCBwYXJhbWV0ZXIgdG8gYFF1ZXVlI3BvcGAsIHRoZXJlIGFyZSBhIGhhbmRmdWwgb2Ygb3Ro ZXIgaW1wcm92ZW1lbnRzIEknZCBsaWtlIHRvIG1ha2UuCgoKIyMjIEJhdGNoIGluc2VydAoKV2hl biB1c2luZyB0aGUgcXVldWUgZm9yIGJhdGNoIHByb2Nlc3NpbmcsIGl0IHdvdWxkIGJlIGdvb2Qg dG8gYmUgYWJsZSB0byBwdXNoIG11bHRpcGxlIGVsZW1lbnRzIGF0IG9uY2U6CgpDdXJyZW50bHkg eW91IGhhdmUgdG8gY2FsbCBgcHVzaGAgcmVwZWF0ZWRseQoKYGBgcnVieQppdGVtcy5lYWNoIGRv IHxpdGVtfAogIHF1ZXVlLnB1c2goaXRlbSkKZW5kCmBgYAoKVGhhdCdzIHdhc3RlZnVsIGJlY2F1 c2Ugb24gZWFjaCBjYWxsIHdlIGNoZWNrIHdldGhlciB0aGUgcXVldWUgaXMgY2xvc2VkLCB0cnkg dG8gd2FrZXVwIGJsb2NrZWQgdGhyZWFkcywgZXRjLgoKSXQgd291bGQgYmUgbXVjaCBiZXR0ZXIg aWYgeW91IGNvdWxkIGRvOgoKYGBgcnVieQpxdWV1ZS5jb25jYXQoaXRlbXMpCmBgYAoKV2l0aCBv ZiBjb3Vyc2UgYm90aCBgbm9uYmxvY2tgIGFuZCBgdGltZW91dGAgc3VwcG9ydC4KClRoZW4gdGhl cmUncyB0aGUgcXVlc3Rpb24gb2YgaG93IGBTaXplZFF1ZXVlYCB3b3VsZCBiZWhhdmUgaWYgaXQn cyBub3QgZnVsbCwgYnV0IHN0aWxsIGRvZXNuJ3QgaGF2ZSBzcGFjZSBmb3IgYWxsIHRoZSBlbGVt ZW50cy4gZS5nLgpgYGBydWJ5CnF1ZXVlID0gU2l6ZWRRdWV1ZS5uZXcoMTApCnF1ZXVlLmNvbmNh dCg2LnRpbWVzLnRvX2EpCnF1ZXVlLmNvbmNhdCg2LnRpbWVzLnRvX2EpICMgQmxvY2sgdW50aWwg dGhlcmUgaXMgNiBmcmVlIHNsb3RzPwpgYGAKCkkgdGhpbmsgdGhlIHNpbXBsZXN0IHdvdWxkIGJl IHRvIHdhaXQgZm9yIGVub3VnaCBzcGFjZSB0byBhcHBlbmQgdGhlIGVudGlyZSBzZXQsIGJlY2F1 c2UgY29tYmluZWQgd2l0aCBhIHRpbWVvdXQsIGl0IHdvdWxkIGJlIGF3a3dhcmQgaWYgb25seSBw YXJ0IG9mIHRoZSBhcnJheSB3YXMgY29uY2F0ZW5hdGVkLgoKCiMjIyBCYXRjaCBwb3AKClNpbWls YXJseSwgc29tZXRpbWVzIHRoZSBjb25zdW1lciBvZiBhIHF1ZXVlIGlzIGNhcGFibGUgb2YgYmF0 Y2hpbmcsIGFuZCByaWdodCBub3cgaXQncyBub3QgZWZmaWNpZW50OgoKCmBgYHJ1YnkKbG9vcCBk bwogIGl0ZW1zID0gW3F1ZXVlLnBvcF0KICBiZWdpbgogICAgOTkudGltZXMgZG8KICAgICAgaXRl bXMgPDwgcXVldWUucG9wKHRydWUpICMgdHJ1ZSBpcyBmb3Igbm9uYmxvY2sKICAgIGVuZAogIHJl c2N1ZSBUaHJlYWRFcnJvciAjIGVtcHR5IHF1ZXVlCiAgZW5kCiAgcHJvY2Vzc19pdGVtcyhpdGVt cykKZW5kCmBgYAoKSXQgd291bGQgYmUgbXVjaCBtb3JlIGVmZmljaWVudCBpZiBgcG9wYCBhY2Nl cHRlZCBhIGBjb3VudGAgcGFyYW1ldGVyOgoKYGBgcnVieQpsb29wIGRvCiAgaXRlbXMgPSBxdWV1 ZS5wb3AoY291bnQ6IDEwMCkKICBwcm9jZXNzX2l0ZW1zKGl0ZW1zKQplbmQKYGBgCgpUaGUgYmVo YXZpb3Igd291bGQgYmU6CiAgLSBCbG9jayBpZiB0aGUgcXVldWUgaXMgZW1wdHkKICAtIElmIGl0 J3Mgbm90IGVtcHR5LCByZXR1cm4gKip1cCB0byoqIGBjb3VudGAgaXRlbXMgKEp1c3QgbGlrZSBg QXJyYXkjcG9wYCkKCgojIyMgTm9uIGJsb2NraW5nIG1vZGUsIHdpdGhvdXQgZXhjZXB0aW9uCgpB cyBzaG93biBhYm92ZSwgdGhlIGN1cnJlbnQgYG5vbmJsb2NrYCBwYXJhbWV0ZXIgaXMgYSBiaXQg YXdrd2FyZCwgYmVjYXVzZToKCiAgLSBJdCByYWlzZXMgYW4gZXhjZXB0aW9uLCB3aGljaCBpcyB2 ZXJ5IGV4cGVuc2l2ZSBmb3IgYSBjb25zdHJ1Y3Qgb2Z0ZW4gdXNlZCBpbiAibG93IGxldmVsIiBj b2RlLgogIC0gVGhlIGV4Y2VwdGlvbiBpcyBgVGhyZWFkRXJyb3JgLCBzbyB5b3UgbWF5IGhhdmUg dG8gbWF0Y2ggdGhlIGVycm9yIG1lc3NhZ2UgZm9yIGAicXVldWUgZW1wdHkiYCwgdG8gbWFrZSBz dXJlIGl0IGRvZXNuJ3QgY29tZSBmcm9tIGEgTXV0ZXggaXNzdWUgb3Igc29tZXRoaW5nIGxpa2Ug dGhhdC4KCgpJIGJlbGlldmUgdGhhdCB3ZSBjb3VsZCBpbnRyb2R1Y2UgYSBrZXl3b3JkIGFyZ3Vt ZW50OgoKYGBgcnVieQpRdWV1ZS5uZXcucG9wKG5vbmJsb2NrOiB0cnVlKSAjID0+IG5pbApgYGAK CgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRv OnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0 dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29y ZT4K