Sha256: b8b23e97335d6d286384ee53187d07fc164092594b1b974a6fe4c020ed465623

Contents?: true

Size: 748 Bytes

Versions: 1

Compression:

Stored size: 748 Bytes

Contents

# kernel method for asyncron calls
# basic version is :
#
# var= async { "ruby Code here" }
# var.value #> "ruby Code here"
#
# or
#
# var = async :parallelism do
#  "some awsome ruby code here!"
# end
#
module Kernel

  def async(type= :Concurrency ,&block)
    case type.to_s.downcase[0]
      # Concurrency / VM / Green
      when "c","v","g"
        begin
          Asynchronous::Concurrency.new(block)
        end
      # Parallelism / OS / Native
      when "p","o","n"
        begin
          Asynchronous::Parallelism.new(block)
        end
      else
        begin
          Asynchronous::Concurrency.new(block)
        end

    end
  end

  def shared_memory
    Asynchronous::SharedMemory
  end unless method_defined? :shared_memory

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
asynchronous-2.1.0 lib/asynchronous/kernel.rb