Java多线程开发简化类库 SlicedBread

jopen 13年前
     SlicedBread 是一个用于简化 Java 多线程程序编写的类库。    <p>SlicedBread is a library that makes it simpler to program multithreaded applications in Java. It does so by doing away with "classic" multithreaded staples - that is, shared state using thread-safe objects, locks and synchronizers - versus a set of single-thread processes that send and receive immutable messages. In a sense it is inspired by Erlang's messaging system. In another, the over 400 rich pages of "Java concurrency in practice" show how hard it is to write and debug a good-mannered multithreaded application in Java.</p>    <p>SlicedBread has been used in production systems for quite a bit of time now with no major issues, so I thought it was something that could benefit the community at large and I'm sharing it.</p>    <p>SlicedBread is licensed under the LGPL.</p>    <h2>Sample application</h2>    <p>The sample application is available at under the sources as:</p>    <hr />    <pre><code>    ch.loway.oss.sbDemos.helloWorld.HelloWorld</code></pre>    <hr />    <p>It basically spawns a couple of threads and sends each a simple message so that one prints "Hello" and the other "World".</p>    <p>The output looks something like:</p>    <hr />    <pre><code>    Hello world starting      (Thread A#2) I am thread Thread A (created by Main)      (Thread A#2) PRINTING: Hello      (Thread A#2) Now Stopping      (Thread B#3) I am thread Thread B (created by Main)      (Thread B#3) PRINTING: World      (Thread B#3) Now Stopping      Message found: F:Thread A#2 T:Main#1 - ProcessStarted      Message found: F:Thread A#2 T:Main#1 - ProcessEnded       Message found: F:Thread B#3 T:Main#1 - ProcessStarted      Message found: F:Thread B#3 T:Main#1 - ProcessEnded </code></pre>项目地址:    <a href="/misc/goto?guid=4958197629414314947" target="_blank">https://github.com/l3nz/SlicedBread</a>