Ruby 线程类 公共类方法
在Ruby中,线程被用来实现并发的编程模块。需要多个线程的程序,使用 Thread类来 创建线程。线程类包含了大量的方法来执行一些特定的任务。
公共类方法
- abort_on_exception : 该方法返回全局 “异常时中止 “条件的状态。这个方法的默认值是false。如果这个方法的值被设置为 “true”,那么它将中止所有引发异常的线程。
- abort_on_exception= : 该方法返回新的状态。当这个方法的值被设置为 “真 “时,就会中止产生异常的线程。这个方法的返回类型是布尔值。
输出:
- critical : 该方法返回全局 “线程临界 “条件。
- critical= : 这个方法用来设置全局 “线程临界 “的状态,并将其返回。当这个方法的值被设置为 “true “时,那么它就禁止调度任何现有的线程,并且它不会阻止新线程的创建和运行。一些线程操作,如杀死或停止一个线程,在当前线程中睡觉,或引发一个异常,可能会导致一个线程调度在临界区。这个方法主要支持编写线程库的朋友。这个方法的返回类型是布尔值。
- current : 该方法返回线程的当前执行情况。
- exit : 该方法用于终止当前运行的线程,并安排另一个线程运行。如果这个线程被标记为被杀死,那么它将返回该线程,如果这是主线程或最后一个线程,那么它将退出该进程。
- fork : 这种方法与启动方法类似。
- kill : 该方法用于退出线程。
示例:
输出:
- list: 该方法返回所有可运行或已停止的线程对象的一个数组。
示例:
输出:
- main : 该方法返回进程的主线程。该程序每次运行都会返回不同的ID。
输出:
- new : 该方法用于创建和运行一个新的线程来执行块中给出的指令。任何传递给该方法的参数都会在块中传递。
- pass : 这种方法试图将执行传递给另一个线程,但执行的切换取决于操作系统。
- start : 这个方法与new方法类似。如果线程类被子类化,那么从子类中调用start将不会调用子类的初始化方法。
- stop : 该方法用于停止当前运行的线程的执行,使其进入睡眠状态,并安排另一个线程的执行,将关键条件重置为假。
示例:
输出:
Reference: https://ruby-doc.org/core-2.5.0/Thread.html#class