class
Fiber::ExecutionContext::SingleThreaded
Overview
A single-threaded execution context which owns a single thread. It's fully concurrent with limited parallelism.
Concurrency is restricted to a single thread. Fibers in the same context will never run in parallel to each other but they may still run in parallel to fibers running in other contexts (i.e. in another thread).
Fibers can use simpler and faster synchronization primitives between themselves (no atomics, no thread safety). Communication with fibers in other contexts requires thread-safe primitives.
A blocking fiber blocks the entire thread and all other fibers in the context.
Included Modules
- Fiber::ExecutionContext
- Fiber::ExecutionContext::Scheduler
Defined in:
fiber/execution_context/single_threaded.crConstructors
Instance Method Summary
-
#inspect(io : IO) : Nil
Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.
- #name : String
-
#status : String
Returns the current status of the scheduler.
-
#to_s(io : IO) : Nil
Appends a short String representation of this object which includes its class name and its object address.
Instance methods inherited from module Fiber::ExecutionContext::Scheduler
spawn(*, name : String | Nil = nil, &block : -> ) : Fiberspawn(*, name : String | Nil = nil, same_thread : Bool, &) : Fiber spawn, status : String status
Constructor methods inherited from module Fiber::ExecutionContext::Scheduler
current : Scheduler
current
Instance methods inherited from module Fiber::ExecutionContext
spawn(*, name : String | Nil = nil, &block : -> ) : Fiber
spawn
Constructor methods inherited from module Fiber::ExecutionContext
current : ExecutionContext
current,
default : ExecutionContext
default
Class methods inherited from module Fiber::ExecutionContext
default_workers_count : Int32
default_workers_count,
each(&) : Nil
each
Instance methods inherited from class Reference
==(other : self)==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, initialize initialize, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference) : Bool
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
new
new,
unsafe_construct(address : Pointer, *args, **opts) : self
unsafe_construct
Class methods inherited from class Reference
pre_initialize(address : Pointer)
pre_initialize
Instance methods inherited from class Object
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil!(message)
not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml
Macros inherited from class Object
class_getter(*names, &block)
class_getter,
class_getter!(*names)
class_getter!,
class_getter?(*names, &block)
class_getter?,
class_property(*names, &block)
class_property,
class_property!(*names)
class_property!,
class_property?(*names, &block)
class_property?,
class_setter(*names)
class_setter,
def_clone
def_clone,
def_equals(*fields)
def_equals,
def_equals_and_hash(*fields)
def_equals_and_hash,
def_hash(*fields)
def_hash,
delegate(*methods, to object)
delegate,
forward_missing_to(delegate)
forward_missing_to,
getter(*names, &block)
getter,
getter!(*names)
getter!,
getter?(*names, &block)
getter?,
property(*names, &block)
property,
property!(*names)
property!,
property?(*names, &block)
property?,
setter(*names)
setter
Constructor Detail
Instance Method Detail
Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.
class Person
def initialize(@name : String, @age : Int32)
end
end
Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>
Returns the current status of the scheduler. For example "running"
,
"event-loop"
or "parked"
.
Appends a short String representation of this object which includes its class name and its object address.
class Person
def initialize(@name : String, @age : Int32)
end
end
Person.new("John", 32).to_s # => #<Person:0x10a199f20>