对于Python,可以通过设置属性
Ruby是否能像Python一样生成非守护线程?
daemon
生成非守护线程。以下是daemon
的介绍:
一个布尔值,指示此线程是否是守护线程(True)还是非守护线程(False)。这必须在调用start()之前进行设置,否则将引发RuntimeError。它的初始值继承自创建线程;主线程不是守护线程,因此在主线程中创建的所有线程默认为daemon = False。
当没有存活的非守护线程时,整个Python程序将退出。
https://docs.python.org/2/library/threading.html#threading.Thread.daemon提供了更多详细信息。
我知道Python和Ruby都有方法join()
来等待线程终止。另外,在下面的代码段中,当线程a
完成时,程序将退出。#!/usr/bin/env ruby
# coding: UTF-8
a = Thread.new() do
1000.times do |value|
puts "---" + value.to_s
end
end
while a.status != false
# do something
end
puts 'I am the main thread'
Ruby是否能像Python一样生成非守护线程?