摘要:
执行结果: 阅读全文
摘要:
使用wait、notify方法实现线程间的通信(注意这两个方法都是object的类的方法,换句话说java为所有的对象都提供了这两个方法) 1.wait和notify必须配合synchronized关键字使用 2.wait方法释放锁,notify方法不释放锁 示例1: 上述代码实现了这样的功能:t1 阅读全文
摘要:
(支持原创)本篇文章非原创,原文章地址: http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可 阅读全文
摘要:
luigi的执行和触发模型非常简单。 一、luigi的执行模型 当你执行一个luigi的工作流的时候,worker调度所有的task,并且执行task在一个单独的进程中。 这种scheme最大的好处是容易调试,因为所有的task都在单独的进程中运行。你可以使用crontab的方式来触发他。 阅读全文
摘要:
--local-scheduler一般用在开发阶段,这在一个产品中是不建议这样使用的。使用中央调度器有两个目的: 保证两个相同的task不会同时运行两次 提供一个可视化的界面 注意:中央调度器并不会帮助你执行任何任务或者帮助你使得你的任务更加并行。 一、luigid serevr 1.1运行luig 阅读全文
摘要:
最简单去运行一个luigi task的方式是通过luigi命令行工具。 示例代码: 在命令行上运行: 或者可以选择这种方式运行: 注意:如果一个参数的名字中含有'_',在命令行中你需要替代为'-'。例如MyTask有一个参数名字是'my_parameter',你需要这么赋值: luigi --mod 阅读全文