我有一个方法应该延迟运行指定的时间.
我应该用吗?
Thread thread = new Thread(() => {
Thread.Sleep(millisecond);
action();
});
thread.IsBackground = true;
thread.Start();
Run Code Online (Sandbox Code Playgroud)
要么
Timer timer = new Timer(o => action(), null, millisecond, -1);
Run Code Online (Sandbox Code Playgroud)
我读过一些关于使用的文章Thread.Sleep
是糟糕的设计.但我真的不明白为什么.
但是对于使用Timer,Timer有配置方法.由于执行延迟,我不知道如何配置Timer.你有什么建议吗?
或者如果你有延迟执行的替代代码也很感激.
有关于它们的维基文章:(http://en.wikipedia.org/wiki/Futures_and_promises,http://en.wikipedia.org/wiki/Thunk_ ( delayed_computation)).但我不确定三者作为编程语言概念之间的确切差异是什么?期货和承诺只适用于并发编程吗?
在PHP中,我想在循环的每次迭代中放置一些第二延迟.
for ($i=0; $i <= 10; $i++) {
$file_exists=file_exists($location.$filename);
if($file_exists) {
break;
}
//sleep for 3 seconds
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
事实上,这是与这篇文章相同的问题:
如何在我的DAL中调用时确保我的LINQ查询执行,而不是以延迟的方式执行?
但由于他没有解释为什么他想要它,这个问题似乎已经过了一段时间.这是我类似但更好解释的问题:
我有两种类型的线程(暂时忽略UI线程).有一个"数据收集"线程类型和一个"计算"线程类型.数据收集线程很慢.从各个地方筛选出相当多的数据.计算线程相对较快.到目前为止,设计模型是发送数据收集线程以查找数据,并在完成时将数据传递给计算.
当我在Linq编写数据采集时,我将一些缓慢的内容提升回计算线程.现在有数据元素在计算过程中使用之前没有完全解析 - 这是一个问题.
我想迫使Linq在一定时间内完成工作(声明结束?方法结束?"请完成,该死的"方法调用)以便我知道我以后不会付钱.将".ToList()"添加到Linq的末尾是1.尴尬,并且2.感觉就像拳击即将在另一个线程中暂时取消装箱的东西.
我正在继承一个类,我想调用它的一个构造函数.但是,在调用它之前,我必须处理一些东西(不需要基类的任何东西).有什么办法我可以稍后调用它而不是在初始化列表中调用它吗?我相信这可以用Java和C#完成,但我不确定C++.
我需要在构造函数上传递的数据以后不能重新分配,所以我不能只调用默认构造函数并在以后初始化它.
我有一个'无法转换为SQL'的方法,我想在IQueryable上执行,有没有办法强制IQueryable执行而不必将其存储在某个中间类中?
无限流:
val ones: Stream[Int] = Stream.cons(1, ones)
如何在自己的声明中使用值?看来这应该会产生编译错误,但它确实有效.
functional-programming scala lazy-evaluation delayed-execution
class Child;
class Parent
{
public:
void (*funcPointer)();
void (*funcPointer2)(Parent* _this);
void (Child::*funcPointer3)();
};
class Child: public Parent
{
public:
void TestFunc(){
}
void Do(){
Parent p;
p.funcPointer=TestFunc; // error, '=': cannot convert from 'void (__thiscall Child::* )(void)' to 'void (__cdecl *)(void)'
p.funcPointer2=TestFunc; // error too, '=': cannot convert from 'void (__thiscall Child::* )(void)' to 'void (__cdecl *)(Parent *)'
p.funcPointer3=TestFunc; //this works
p.funcPointer3=&Child::TestFunc; // this works too.
p.funcPointer3(); // error, term does not evaluate to a function taking 0 arguments …
Run Code Online (Sandbox Code Playgroud) c++ methods member-function-pointers function-pointers delayed-execution
我有一个带有字段的表:: ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
我的问题是,如果我使用延迟插入此表上,将时间戳是当插入实际上是由当请求排队的时间或时间?
我发现芹菜支持任务链:http://celery.readthedocs.org/en/latest/userguide/canvas.html#chains.
问题是:如何在任务中停止链的执行?
例如,我们得到了一个N项链(N> 2).在第二个任务中,我们意识到我们不需要执行所有其余任务.该怎么办?