Tackling Concurrency with STM
Writing software applications in which parts of the application run in different, concurrently running threads introduces many challenges not present in single-threaded applications. Since the order of operations isn't fixed, failures can be difficult to repeat and thoroughly testing the software is more difficult.
There are many models for creating concurrent software that have been implemented in a variety of programming languages. Arguably the most popular models today are based on locks, actors and transactional memory. This talk briefly describes all three models, including their pros and cons. It then dives deeper into software-based transactional memory (STM). The talk ends with a detailed look at a specific STM implementation, that provided by the Clojure programming language.
Attendees will gain a better understanding of the options available for creating multithreaded software applications and gain a clear understanding of the characteristics of STM. This knowledge will aid software developers in making decisions about programming for concurrency regardless of the programming language being used.
Mark is a partner at Object Computing, Inc. in St. Louis where he provides software consulting, creates and teaches software engineering courses and writes technical articles. He is a frequent speaker at symposiums and user groups. His past presentations and articles are available at http://ociweb.com/mark. Mark's recent interests include functional programming, Clojure and Software Transactional Memory.
Recent comments
3 min 5 sec ago
3 hours 40 min ago
3 hours 40 min ago
6 days 7 hours ago
17 weeks 6 days ago
18 weeks 2 days ago
21 weeks 5 days ago
22 weeks 6 days ago
25 weeks 2 days ago
25 weeks 3 days ago