shitou's blog 
Home About Feed | MIX BOY 塌客

Tags "thread"

06
Aug

Thread学习-2 by shitou

0

下面再详细的说下子线程和主线程的问题

t1 = Thread.new { sleep 100 }
t2 = Thread.new do
  if Thread.current == Thread.main #不会输出
    puts 'this is main thread!'
  end
  1.upto(1000) { sleep 0.1 }
end

count = Thread.list.size #3, 当前有三个线程,一个是运行该脚本的主线程(main thread),一个是t1,还有t2,由于他们正在做循环操作所以没有结束退出,还在当前线程列表中
if Thread.list.include?(Thread.main) #当前就在主线程的环境下
  puts 'Main  thread is alive' #一直都会输出
end

if Thread.current == Thread.main #因为当前环境就在主线程下操作和运行的,所以为true
  puts 'I am main thread' #输出
end

上面用到了几个线程的方法,作用从字面上就可以看出来,主要是可以比较明确的理解下主线程和子线程的关系,在上一篇线程的讲解中已经提到了线程是进程的执行单元。当进程被初始化后,主线程就被创建了。
对于绝大多数的应用程式来说,通常仅需要有一个主线程。尽管如此进程也能够创建额外的线程。

Tags: thread

2008-08-06 10:36:35, 382 reviews

send to mailbox

Your email:

06
Aug

Thread学习-1 by shitou

0

在学习Thread,下面是一个例子

t1 = Thread.new do
  i = 1
  while i <= 100000 do
    i += 1
  end
  puts 'ok, end!'
end

puts 'main thread start..'

#如果没有下面的操作,将不会看到上面的任何输出,所以可以这样理解
# 改脚本运行时相当于ruby创建了一个进程,然后又派发出一个主线程来运行该脚本,
# 线程是进程的执行单元。当进程被初始化后,主线程就被创建了。
# 对于绝大多数的应用程式来说,通常仅需要有一个主线程。尽管如此进程也能够创建额外的线程。
# t1又创建了一个子线程执行循环的操作,此时主线程比t1的子线程早结束,所以强制
# 结束了子线程,即不会看到任何输出,
# 当执行下面的t1.join时,主线程将会等待子线程的结束才退出

t1.join

Tags: thread

2008-08-06 10:22:22, 357 reviews

send to mailbox

Your email:

Tags

U-ka saegusa IN db command Mai Kuraki Norah Jones log iPhoneException ACG Mac Safari objective-c CouchDB LVS AJAX debian 推荐 AMQP google mail bug gettext Erlang 北京 iptables 架构 tips mysql backup function 我看 postfix 监控 SEO cache Etag memcache thread 进程 线程 无锡 yield file column mixboy xml rss gems ruby shitou shell lighttpd 安全 csrf 公司 nginx linux 模块 apache webserver 朋友 大学 生活 尼古拉斯凯奇 movie 文件同步 笑笑 歌词 auto complete plugin rails music ubuntu blog

Category

  • iPhone[17]
  • Erlang[4]
  • google[8]
  • 生活[38]
  • 音乐[11]
  • 电影[11]
  • linux[20]
  • web server[6]
  • mail server[3]
  • cluster[1]
  • system manage[5]
  • ruby[18]
  • ruby on rails[27]
  • 开源[3]

Episode

  • iPhoneException
  • shell
  • thread
  • memcache

Recent Comments

  • я считаю: превосходно. мамба интим знакомс...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • я думаю: восхитительно.. познакомлюсь ради...

Popular Posts

  • MySQL Innodb备份
  • 准备开始学习Erlang了(恶狼, 二郎..)
  • Lighttpd配置参数
  • iPhone上的HelloWorld终于跑起来了
  • Etag和Expire

Recommended Posts

  • Mai Kuraki -永远より ながく
  • U-ka saegusa IN db Final Best
  • Heaven Can Wait - Charlotte Gainsbou
  • Ruby遍历MemCached的key
  • Norah Jones - The fall
  • 请记得仰望梦想的姿势
  • Shell: 统计MySQL InnoDB表的大小
  • Rails Benchmark
  • 发送异常到邮箱
  • I Miss Nobody
  • Music4u, Vol. 1
  • my macbook
  • Mai Kuraki-Beautiful
  • 10首最伤情英文歌曲精选
  • Mai Kuraki - PUZZLE/Revive

Friends' blogs

  • levy
  • sphance
  • andreas

Login

   注册

留言 查看留言

留言

   取消

留言 查看留言


Statistics

  • 访问次数: 51664
  • 今天访问: 131
  • 日志: 172
  • 评论: 138
  • 音乐: 9
  • 用户: 150


 

just DO NOT support IE

close