> On Feb 15, 2017, at 3:44 AM, Cecil Westerhof <cldwester...@gmail.com> wrote:
> 
> ​As I said before: I did not work much with threads. Mostly for GUI
> performance. Do you (or anyone else) have any resources about those
> concurrency models​?


Theory:
https://en.wikipedia.org/wiki/Actor_model 
<https://en.wikipedia.org/wiki/Actor_model>
https://en.wikipedia.org/wiki/Communicating_sequential_processes 
<https://en.wikipedia.org/wiki/Communicating_sequential_processes>

also, the paper The Problem With Threads is definitely required reading!
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf

Languages:
https://golang.org <https://golang.org/> — specifically ‘channels’, which are 
like generalized in-process streams or sockets.
https://www.rust-lang.org/ <https://www.rust-lang.org/> — Rust tracks memory 
ownership to enforce thread-safety at compile time.
http://www.ponylang.org <http://www.ponylang.org/> — Similar memory-safety to 
Rust, but adds garbage-collection and actors.
Other languages that support actors are Scala and Io.

You can build constructs like channels and actors on top of threads in other 
languages. I’m using actors in a C++ project right now; the C++ actor libraries 
I found were too heavyweight so I wrote my own. You do have to be careful 
(since C++ is basically one big double-edged razor blade) but it’s much easier 
than trying to work with mutexes and locks.

—Jens
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to