Programming Ruby: The Pragmatic Programmer's Guide

# Programming Ruby ### The Pragmatic Programmer's Guide
Previous < | Contents ^ | Next >

class ThreadGroup |
Parent: | Object
Version: | 1.6

### Index:

new add list

`ThreadGroup` provides a means of keeping track of a number of threads as a group. A `Thread` can belong to only one `ThreadGroup` at a time; adding a thread to a new group will remove it from any previous group.

Newly created threads belong to the same group as the thread from which they were created.

constants

`Default` |  | Default thread group.

class methods
new | ThreadGroup.new -> thgrp
|  | Returns a newly created `ThreadGroup`. The group is initially empty.

instance methods
add | thgrp.add( aThread ) -> thgrp
|  | Adds the given thread to this group, removing it from any other group to which it may have previously belonged.
    puts "Initial group is #{ThreadGroup::Default.list}"
    tg = ThreadGroup.new
    t1 = Thread.new { sleep 10 }
    t2 = Thread.new { sleep 10 }
    puts "t1 is #{t1}"
    puts "t2 is #{t2}"
    tg.add( t1 )
    puts "Initial group now #{ThreadGroup::Default.list}"
    puts "tg group now #{tg.list}"
produces:
    Initial group is #<Thread:0x401bc5c8>
    t1 is #<Thread:0x401b34a0>
    t2 is #<Thread:0x401b3450>
    Initial group now #<Thread:0x401b3450>#<Thread:0x401bc5c8>
    tg group now #<Thread:0x401b34a0>
list | thgrp.list -> anArray
|  | Returns an array of all existing `Thread` objects that belong to this group.
`ThreadGroup::Default.list` | » | `[#<Thread:0x401bc5c8 run>]`

Previous < | Contents ^ | Next >

Extracted from the book "Programming Ruby - The Pragmatic Programmer's Guide"
Copyright © 2000 Addison Wesley Longman, Inc. Released under the terms of the Open Publication License V1.0.
This reference is available for download.