转载请注明出处:

http://www.cnblogs.com/darkknightzh/p/6549452.html

参考网址:

https://github.com/torch/threads#examples

1. addjob简单示例

参考网址中给出了torch中threads的addjob函数使用方法:

local threads = require 'threads'

local nthread =
local njob =
local msg = "hello from a satellite thread" local pool = threads.Threads(
nthread,
function(threadid)
print('starting a new thread/state number ' .. threadid)
gmsg = msg -- get it the msg upvalue and store it in thread state
end
) local jobdone =
for i=,njob do
pool:addjob(
function() -- note1
print(string.format('%s -- thread ID is %x', gmsg, __threadid))
return __threadid
end,
function(id)
print(string.format("task %d finished (ran on thread ID %x)", i, id))
jobdone = jobdone +
end
-- note2
)
end pool:synchronize()
print(string.format('%d jobs done', jobdone))
pool:terminate()

上面程序是一个简单的例子。

2. addjob传入参数

note1的地方,当该函数无输入参数时,直接那样写,同时note2处什么也不写。

如果note1的function需要传入参数,可以写上参数列表,同时在note2处加上参数。如下所示:

pool:addjob(
function(variable1, variable2, bariable3) -- note1
-- code …
end,
function(id)
-- code …
end,
var1, -- note2
var2,
var3
)

3. addjob函数说明

addjob函数如下:

Threads:addjob([id], callback, [endcallback], [...])

callback为在队列线程中执行的函数,endcallback为在主线程中执行的函数。

(原)torch中threads的addjob函数使用方法的更多相关文章

  1. 有遍历struct中字段信息的函数或方法

    例:struct a{int a;char b[10];double c;}; 在程序中只知道一个结构 a 的指针, 有没有函数能通过结构的名字 和 指向结构的指针 随次得到 结构中的变量类型 和 变 ...

  2. asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

    通常javascript代码可以与HTML标签一起直接放在前 端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把 ...

  3. matlab中同一文件定义子函数的方法

    在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同在一个m文件中通常有两种定义子函数的方法: 1.嵌套定义 myfunc1会和主函数共享变量名.这种情况 ...

  4. python之类中如何判断是函数还是方法

    通常我们认为在类中的函数为方法,类外面声明def为函数,这种说法有点片面 方法1: class Work(object): def show(self): print("执行show方法&q ...

  5. Python 动态从文件中导入类或函数的方法

    假设模块文件名是data_used_to_test.py,放在tests文件夹下 文件夹结构如下: project |-tests |-data_used_to_test.py 文件内包含一个test ...

  6. Python学习之---Python中的内置函数(方法)(更新中。。。)

    add(item)   #将item添加到s中,如果item已经在s中,则无任何效果 break        #退出循环,不会再运行循环中余下的代码 bool()     #将参数转换为布尔型 by ...

  7. Python中在脚本中引用其他文件函数的方法

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和 ...

  8. @MySQL中length字符长度函数使用方法

    MySQL里面的length函数是一个用来获取字符串长度的内置函数,一个汉字是算三个字符,中文的标点符号也是算三个字符,一个数字或字母算一个字符.具体用法示例如下: 1.查看某字符串的长度 SELEC ...

  9. unity中调用其他脚本函数的方法(小白之路)

    第一种,被调用脚本函数为static类型,调用时直接用  脚本名.函数名().很不实用-- 第二种,GameObject.Find("脚本所在物体名").SendMessage(& ...

随机推荐

  1. .net 系列:Expression表达式树、lambda、匿名委托 的使用【转】

    https://www.cnblogs.com/nicholashjh/p/7928205.html 首先定义一个泛型委托类型,如下: public delegate T Function<T& ...

  2. Java Math.sqrt()方法

    描述 java.lang.Math.sqrt(double a) 返回正确舍入的一个double值的正平方根.特殊情况: 如果参数是NaN或小于为零,那么结果是NaN. 如果参数是正无穷大,那么结果为 ...

  3. LigerUi之Grid使用详解(二)——数据编辑

    一.问题概述 在开发web信息管理系统时,使用Web前端框架可以帮助我们快速搭建一组风格统一的界面效果,而且能够解决大多数浏览器兼容问题,提升开发效率.所以上一篇文章为大家介绍了LigerGrid的显 ...

  4. 【Spark】SparkStreaming-Tasks-数量如何设置?

    SparkStreaming-Tasks-数量如何设置? sparkstreaming task 数量设置_百度搜索 spark内核揭秘-14-Spark性能优化的10大问题及其解决方案 - star ...

  5. 为Subline Text 3 添加支持ini文件语法高亮

    转: http://lancelot.blog.51cto.com/393579/1783653 在Subline text 官网下载了Subline text 3 .不过发现没有对ini格式文件的语 ...

  6. Mongo如何在多个字段中查询某个关键字?

    If a text index has multiple fields in Mongo, how can I do a search in only one field since the weig ...

  7. mysql function 中使用游标

    create function p_t1(tid varchar(20))returns varchar(200)begin declare tmpName varchar(50) default ' ...

  8. 修改linux的时间可以使用date指令

    修改linux的时间可以使用date指令 修改日期: 时间设定成2009年5月10日的命令如下: #date -s 05/10/2009 修改时间: 将系统时间设定成上午10点18分0秒的命令如下.  ...

  9. Linux 远程和本地的一些解决方式

     有的小伙伴想Linux 远程登录 两台机器同一时候root登录.事实上能够同一时候多个用户的. Linux是多用户的多任务系统,能够同一时候多个用户登录到系统,也能够一个用户通过不同终端登录到一个系 ...

  10. C#常用特性

    1.服务器控件ID .NET服务器控件有三个ID,即:ID,ClientID和UniqueID ID为服务器控件的服务器标示,在服务器代码中通过ID来唯一区分服务器控件: ClientID是服务器控件 ...