读书人

ruby线程统制线程同步

发布时间: 2012-09-16 17:33:17 作者: rapoo

ruby线程控制,线程同步

在Ruby中线程是用户级线程并依赖与操作系统。线程是进程中的一个实体,是被系统独立调度和分配的基本单位。线程可以与同属于同样个进程的其他线程共同共享进程的全部资源。但是线程不拥有资源,只需要一点在运行时必不可少的资源。


线程的基本控制,如果主进程结束,会结束所有的线程。所以如果你的线程在执行显示的任务,但是主进程却已经执行完毕,会看不到线程的任何输出。如链接中所示:

http://blog.csdn.net/weixingstudio/article/details/7796442


线程的创建可以使用Thread.new,同样可以以同样的语法使用Thread.start 或者Thread.fork这三个方法来创建线程。

创建线程并执行的基本代码:

hello thread2012-07-28 19:43:37 +0800the 1 outputthe 2 outputthe 3 outputthe 4 outputthe 5 outputthe 6 outputthe 7 outputthe 8 outputthe 9 outputthe 10 output1 2 3 4 5 6 7 8 9 
可以看到线程thread2的所有输出都完成之后,线程thread1才从睡眠中唤醒,而且中间等待了大概有三秒钟的时间。
通过Thread.status函数可以获取线程的当前状态。

读书人网 >Ruby Rails

热点推荐