> "Such a module is called a monitor…” Not a mutex? It literally has the words “mutual exclusion” in it. Is this where Java’s bogus synchronization comes from?
> Can’t really blame him, literally nobody knew how to do multithreading well before Rust. Even in 2013 your choices were limited to “Erlang” and “suffering”. And in 1978 I’m not sure that anyone even had done enough multiprogramming for practical concerns like that to come up.
To borrow from the author himself, "omg it's adorable". Per Brinch Hansen invented, named, and implemented this "monitor" concept in 1968 or somewhen about that time and published it in his 1973 book "Operating System Principles" (C.A.R. Hoare would popularize this concept further in his 1974 paper "Monitors: An Operating System Structuring Concept"). This book also describes RC 4000 operating system which, by the way, inspired the whole microkernel research in the 70-ies and 80-ies. By 1978, the same Hansen guy has published another book, "The Architecture of Concurrent Programs", in which he describes both a new language, Concurrent Pascal, and a new microkernel OS called "Solo", implemented entirely in Concurrent Pascal.
So believe it or not, people did know how to do multithreading stuff way before Rust has graced us all with its existence.
> Can’t really blame him, literally nobody knew how to do multithreading well before Rust. Even in 2013 your choices were limited to “Erlang” and “suffering”. And in 1978 I’m not sure that anyone even had done enough multiprogramming for practical concerns like that to come up.
To borrow from the author himself, "omg it's adorable". Per Brinch Hansen invented, named, and implemented this "monitor" concept in 1968 or somewhen about that time and published it in his 1973 book "Operating System Principles" (C.A.R. Hoare would popularize this concept further in his 1974 paper "Monitors: An Operating System Structuring Concept"). This book also describes RC 4000 operating system which, by the way, inspired the whole microkernel research in the 70-ies and 80-ies. By 1978, the same Hansen guy has published another book, "The Architecture of Concurrent Programs", in which he describes both a new language, Concurrent Pascal, and a new microkernel OS called "Solo", implemented entirely in Concurrent Pascal.
So believe it or not, people did know how to do multithreading stuff way before Rust has graced us all with its existence.