小编Fal*_*nwe的帖子

C#线程不会睡觉?

我有这个代码:

void Main()
{
    System.Timers.Timer t = new System.Timers.Timer (1000);
    t.Enabled=true;
    t.Elapsed+= (sender, args) =>c();
    Console.ReadLine();

}

int h=0;
public void c()
{
    h++;
    new Thread(() => doWork(h)).Start();
}

public void doWork(int h)
{
    Thread.Sleep(3000);
    h.Dump();
}
Run Code Online (Sandbox Code Playgroud)

我想看看如果间隔为1000毫秒且作业过程为3000毫秒会发生什么.

但是我看到了一个奇怪的行为 - 3000毫秒延迟仅在开始时发生!

如何让每次doWork睡眠时间为3000毫秒?

正如你在这里看到的那样,开始时有3秒的延迟,然后每次迭代1秒.

在此输入图像描述

.net c# multithreading

54
推荐指数
4
解决办法
2806
查看次数

我可以在java中的公共类中调用参数化构造函数中的默认构造函数吗?

我想从公共java类中的参数化构造函数调用默认构造函数.

我可以实现吗?

java

11
推荐指数
2
解决办法
3万
查看次数

Orchard的IContentManager.BuildDisplay方法中的groupId参数是什么?

IContentManager.BuildDisplay用于调用ContentItem的驱动程序的方法具有可选的groupId参数.我已经浏览了源代码,但我并不确切地知道它的用例是什么.它似乎能够过滤形状,但我不确定我是怎么理解的.

你能为我澄清一下吗?提前致谢.

.net c# asp.net asp.net-mvc orchardcms

7
推荐指数
1
解决办法
498
查看次数

将long转换为object然后转换为ulong

为什么C#不能将long var隐式转换为对象var然后转换为ulong?

    long a = 0;
    Object c = a;
    ulong b = (ulong)c; // throw exception here
Run Code Online (Sandbox Code Playgroud)

c# casting implicit-conversion

4
推荐指数
2
解决办法
3426
查看次数

创建一个可以在 RxCpp 中取消订阅的 Observable

我正在从 C# 移植一些严重依赖 Rx 的代码,而且我很难找到一些最常用的 C# 方法的 C++ 等价物。

特别是,我想从订阅/取消订阅逻辑创建一个 observable。在 C# 中,我使用Observable.Create<TSource> Method (Func<IObserver<TSource>, Action>)覆盖来创建一个 observable。例如

var observable = Observable.Create<int>(observer =>
{
    observers.Add(observer);
    return () =>
    {
        observers.Remove(observer)
    };
});
Run Code Online (Sandbox Code Playgroud)

是否可以用RxCpp做同样的事情?我认为答案在于rx::observable<>::create(OnSubscribe os)方法,但我不知道如何使用它来“注册”取消订阅的 lambda。

c# c++ system.reactive rxcpp

3
推荐指数
1
解决办法
2079
查看次数