= async-fu async-fu improve your code with abilities to run long task in threaded way == Examples === Simple usage require 'rubygems' require 'async_fu' class YourClass1 def hello p 'start' p 'list ' + Thread.list.join( ' ') p 'main ' + Thread.main.to_s p 'this ' + Thread.current.to_s p 'end' end end af = AsyncFu.new(YourClass1.new) af.hello === Inheritance usage require 'rubygems' require 'async_fu' class YourClass2 < AsyncFu def hello p 'start' p 'list ' + Thread.list.join( ' ') p 'main ' + Thread.main.to_s p 'this ' + Thread.current.to_s p 'end' end end ai = YourClass2.new ai.hello === Thread exit solution You don't need more using join method to lock threads, if you not use it for some reasons. AsyncFu catch exit of ruby program and check for live threads pass main thread until they ended. If you don't need this futures, you can switch it off by using exit method of AsyncFu class. == TODO === 1.x.x * callbacks === 2.x.x * add mixin style YourClass include async-fu end == Copyright Copyright (c) 2009 Amir Mamedov. See LICENSE for details.