ruby小例子 動態執行,繫結,執行緒

2021-06-06 09:00:54 字數 1117 閱讀 7959

#encoding:utf-8

# ---------動態執行

#執行2 + 2

puts eval "2 + 2"

#=》4

#執行15 * 2 (q表示雙引號會進行運算,q表示單引號會原樣輸出)

number = 15

code = %q * 2}

puts code

puts eval(code)

#=》4

#=》# * 2

# ---------繫結

def binding_test

return binding

endbinding_function = binding_test

x = 9

eval("x = 10")

eval("x = 50", binding_function)

#處理當前環境的區域性變數

eval("puts x")

#處理binding環境的區域性變數

eval("puts x", binding_function)

#exec "data.rb"

#puts "end"

#ruby的執行緒不是由作業系統來提供,由ruby直譯器來執行

#優點:跨平台效能很好

#缺點:如果需要呼叫作業系統並等待回應,則整個ruby程式就會暫停

#新開執行緒

child = fork do

sleep 1

puts "child ok"

endputs "waiting for child process"

process.wait child

puts "end"

#執行緒#建立10個執行緒隨機睡眠,列印

threads =

10.times do

thread = thread.new do

10.times

endthreads

#join讓主線程等待至執行緒執行完畢

threads.each() do |thread|

thread.join(3)

end

多執行緒 小例子

1 執行緒小例子 失去一日甚易,欲得回已無途!2016 11 17下午1 43 51 程序 可以包含乙個或者多個執行緒!cpu上 真正 執行的 是 執行緒!實現多執行緒的方法 01.繼承thread類 重寫run 02.實現runnable介面 重寫run 多執行緒 在單個程式中,同時執行多個執行緒...

ruby執行緒執行速度測試

首先宣告下,純粹是想看下ruby thread和native thread的差距,並無意貶低ruby.測試結果嚇一跳,不是太快。和native thread相比,實在太慢。很簡單,每次啟動10個ruby thread,做100000次的累加。連續執行10次,求執行平均值。我的工作機,pc 2.8g,...

c 語言執行緒小例子

例程 下面通過乙個簡單例程example.c來展示linux下的c語言多執行緒操作。example.c include include void thread void int i for i 0 i 3 i printf this is a pthread.n int main void pthr...