Class: Thread

Inherits:
Object show all
Defined in:
opal/stdlib/thread.rb

Defined Under Namespace

Classes: Queue

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Thread

Do not allow creation of new instances.

Raises:

  • (NotImplementedError)

23
24
25
# File 'opal/stdlib/thread.rb', line 23

def initialize(*args)
  raise NotImplementedError, 'Thread creation not available'
end

Class Method Details

.currentObject


9
10
11
12
13
14
15
16
# File 'opal/stdlib/thread.rb', line 9

def self.current
  unless @current
    @current = allocate
    @current.core_initialize!
  end

  @current
end

.listObject


18
19
20
# File 'opal/stdlib/thread.rb', line 18

def self.list
  [current]
end

Instance Method Details

#[](key) ⇒ Object

fiber-local attribute access.


28
29
30
# File 'opal/stdlib/thread.rb', line 28

def [](key)
  @fiber_locals[coerce_key_name(key)]
end

#[]=(key, value) ⇒ Object


32
33
34
# File 'opal/stdlib/thread.rb', line 32

def []=(key, value)
  @fiber_locals[coerce_key_name(key)] = value
end

#key?(key) ⇒ Boolean

Returns:


36
37
38
# File 'opal/stdlib/thread.rb', line 36

def key?(key)
  @fiber_locals.key?(coerce_key_name(key))
end

#keysObject


40
41
42
# File 'opal/stdlib/thread.rb', line 40

def keys
  @fiber_locals.keys
end

#thread_variable?(key) ⇒ Boolean

Returns:


53
54
55
# File 'opal/stdlib/thread.rb', line 53

def thread_variable?(key)
  @thread_locals.key?(coerce_key_name(key))
end

#thread_variable_get(key) ⇒ Object

thread-local attribute access.


45
46
47
# File 'opal/stdlib/thread.rb', line 45

def thread_variable_get(key)
  @thread_locals[coerce_key_name(key)]
end

#thread_variable_set(key, value) ⇒ Object


49
50
51
# File 'opal/stdlib/thread.rb', line 49

def thread_variable_set(key, value)
  @thread_locals[coerce_key_name(key)] = value
end

#thread_variablesObject


57
58
59
# File 'opal/stdlib/thread.rb', line 57

def thread_variables
  @thread_locals.keys
end