用htop命令可视化ruby线程
我正在ruby中试验多线程。我运行了这段代码,它同时运行3个线程(用htop命令可视化ruby线程,ruby,multithreading,htop,Ruby,Multithreading,Htop,我正在ruby中试验多线程。我运行了这段代码,它同时运行3个线程(ruby threads.rb在我的终端中): 我现在在终端的树状视图中运行htop,查看是否可以看到3个不同的线程: 我认为process threads.rb就在突出显示的那一行下面,但是我看不到我的三个启动的线程是threads.rb进程的分支。。 ruby线程与htop显示的线程和进程无关吗?是否有一种方法可以可视化my threads.rb进程中运行的不同ruby线程 这取决于您的Ruby解释器。MRI应该为每个Rub
ruby threads.rb
在我的终端中):
我现在在终端的树状视图中运行htop
,查看是否可以看到3个不同的线程:
我认为process threads.rb就在突出显示的那一行下面,但是我看不到我的三个启动的线程是threads.rb进程的分支。。
ruby线程与htop显示的线程和进程无关吗?是否有一种方法可以可视化my threads.rb进程中运行的不同ruby线程 这取决于您的Ruby解释器。MRI应该为每个Ruby线程分配一个本机线程。我已经运行了您的脚本,我可以在
htop
中看到线程(有3个以上的线程,但解释器必须这样做):
尝试在htop
中设置过滤器(点击F4
并键入ruby
作为过滤器字符串)
编辑:我已经在Debian上测试过了
htop
没有在OSX上显示线程:--有一个PR打开,但没有合并。看,嗯。
arr = []
arr.push(Thread.new do
1000000.times do |i|
puts "thread 1"
end
end)
arr.push(Thread.new do
1000000.times do |i|
puts "thread 2"
end
end)
arr.push(Thread.new do
1000000.times do |i|
puts "thread 3"
end
end)
arr.each {|t| t.join}