Spin is a transparent threading solution for non-freezing Swing applications.
Swing is the standard component architecture for developing Java desktop applications. Its exhaustive collection of widgets is the foundation for easy development of rich graphical user interfaces (GUI).
Alas every non trivial GUI sooner or later encounters the problem of "freeze". This annoying behaviour is experienced by users every time the application performs extensive calculations or blocks for network or disk I/O.
We will explain the reason for this problem and explore different techniques to prevent Swing GUIs from "freezing". We will present our project named Spin which offers a - to our knowledge - revolutionary new approach. It offers a solution for transparent thread handling with minimal impact on your application code.
Abstract. Join patterns are an attractive declarative way to synchronize both threads and asynchronous distributed computations. We explore joins in the context of extensible pattern matching that recently appeared in languages such as F# and Scala. Our implementation supports join patterns with multiple synchronous events, and guards. Furthermore, we integrated joins into an existing actor-based concurrency framework. It enables join patterns to be used in the context of more advanced synchronization modes, such as future-type message sending and token-passing continuations.
a rich approach to expressing parallelism in a C++ program. It is a library that helps you take advantage of multi-core processor performance without having to be a threading expert.
provides a software development platform that allows developers to take advantage of a new generation of high performance processors. These new processors, including GPUs, the IBM Cell, and other multi-core processors
JPPF is an open source Grid Computing platform written in Java that makes it easy to run applications in parallel, and speed up their execution by orders of magnitude. Write once, deploy once, execute everywhere!
PARLEY is an API for writing Python programs that implement the Actor model of distributed systems, in which lightweight concurrent processes communicate through asynchronous message-passing.
I recently diagnosed the root cause of a concurrency bug, CR6822370,
and thought it sufficiently interesting to share the details. (CR 6822370 actually represents a
cluster of bugs that are now thought to be related by a common underlying issue).
Briefly, we have a lost wakeup bug in the native C++ Parker::park() platform-specific
infrastructure code that implements java.util.concurrent.LockSupport.park().
The lost wakeup arises from a race that itself arises because of architectural
reordering that in turn occurs because of missing memory barrier instructions.
The lost wakeup may manifest as various 'hangs' or instances of progress failure.
F. David, G. Thomas, J. Lawall, и G. Muller. Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages &\#38; Applications, стр. 291--307. ACM, (2014)
Z. Jianfeng, X. Yunqing, M. Bin, Y. Jianmin, и H. Yu. Proceedings of the 5th International Joint Conference on Natural Language Processing (IJCNLP2011), стр. 589-597. (ноября 2011)
H. Pan, B. Hindman, и K. Asanović. Proceedings of the First USENIX conference on Hot topics in parallelism, стр. 6. Berkeley, CA, USA, USENIX Association, (2009)
V. Gómez, A. Kaltenbrunner, и V. López. WWW '08: Proceeding of the 17th international conference on World Wide Web, стр. 645--654. New York, NY, USA, ACM, (2008)