The basic programming model of languages, like Java, is thread based and while multithreaded applications aren’t terribly hard to write, there are challenges to writing them correctly. What’s difficult about concurrent programming is thinking in terms of concurrency with threads. Alternate concurrency models have arisen along these lines — one that is particularly interesting, and gaining mindshare in the Java community, is the actor model.
Read more ...