<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr">You be are correct. Java’s design was to provide first class support for concurrency at the language level. The performance requirement was a necessary side effect. As I mentioned- once you added thread - in Java 1 - you needed a way to implement a muted or you you would have had CSP only and the mutex is hidden - which was an option (a worse choice imo). </div><div dir="ltr"><br><blockquote type="cite">On Jun 4, 2024, at 4:24 AM, Alex Otenko <oleksandr.otenko@gmail.com> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="auto">Uh....just a general comment on the topic why synchronized was "better". It looked like folks focused on performance and potential optimizations specifically that the VM can or cannot do.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 4 Jun 2024, 10:21 Andrew Haley, <<a href="mailto:aph-open@littlepinkcloud.com">aph-open@littlepinkcloud.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 6/4/24 09:56, Alex Otenko wrote:<br>
> I think it is not about performance, but language support of correctness.<br>
> <br>
> So to speak, the language provides statements to build programs that are obviously sequentially consistent. (With the caveat that deadlocks probably are evidence of the execution that is not sequentially consistent)<br>
<br>
What are you replying to?<br>
<br>
-- <br>
Andrew Haley (he/him)<br>
Java Platform Lead Engineer<br>
Red Hat UK Ltd. <<a href="https://www.redhat.com" rel="noreferrer noreferrer" target="_blank">https://www.redhat.com</a>><br>
<a href="https://keybase.io/andrewhaley" rel="noreferrer noreferrer" target="_blank">https://keybase.io/andrewhaley</a><br>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671<br>
<br>
</blockquote></div>
</div></blockquote></body></html>