Sha256: 60f1f27693179ec8c5cd12eab8f81444c3faf5885568290f253f7a922892acf0

Contents?: true

Size: 1.56 KB

Versions: 1

Compression:

Stored size: 1.56 KB

Contents

Object Threads
==============

**Object Threads** emulates Python threading API paradigm. Creating
threads by giving some block to constructor is sometime slightly 
unpractical way of running threads. This library allows encapsulating 
threads to classes, so class can define itself as thread which can be 
run by plain method call. 

For example:

    require "thread/object"

    class Foo
        include Thread::Object
        
        def run
            sleep 10
            puts "Something in thread."
        end
    end
    
    Foo::new.start!
    sleep 5
    
    puts "Something in main."
    
Will print out `"Something in main."` and then `"Something in thread."`.

Thread object module directly supports `#alive?` and `#shutdown!` 
methods only for thread manipulation. For other operations with the 
thread, call directly object's `#native_thread` property which contains 
appropriate native [Ruby Thread][1] object. This setup is for avoiding 
potential method name conflicts between module and user class.
    
    
Contributing
------------

1. Fork it.
2. Create a branch (`git checkout -b 20101220-my-change`).
3. Commit your changes (`git commit -am "Added something"`).
4. Push to the branch (`git push origin 20101220-my-change`).
5. Create an [Issue][2] with a link to your branch.
6. Enjoy a refreshing Diet Coke and wait.


Copyright
---------

Copyright © 2010-2011 [Martin Kozák][3]. See `LICENSE.txt` for
further details.

[1]: http://www.ruby-doc.org/core/classes/Thread.html
[2]: http://github.com/martinkozak/qrpc/issues
[3]: http://www.martinkozak.net/

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
object-threads-0.1.0 README.md