问题列表 - 第16367页

用于轮询窗口服务的计时器

我编写了一个Timer类,以便在轮询另一个系统的Windows服务中使用它.我这样做是因为我有两个问题System.Timers.Timer没有解决.

  1. Elapsed EventHanler在后台运行,因此如果主线程结束,它的执行将中止.我希望该System.Timers.Timer.Stop函数阻止主线程,直到Elapsed EventHanler的执行结束.
  2. System.Timers.Timer不处理事件再入.我希望Interval介于两个Elapsed EventHanler之间,这样如果之前的调用(+ interval)还没有完成,Timer就不会调用Elapsed EventHanler.

在编写课程时,我发现我需要解决一些与thrading相关的问题,因为我不太熟悉那些我想知道以下Timer类是否是线程安全的?

public class Timer
{
    System.Timers.Timer timer = new System.Timers.Timer() { AutoReset = false };
    ManualResetEvent busy = new ManualResetEvent(true);

    public double Interval
    {
        get { return timer.Interval; }
        set { timer.Interval = value; }
    }

    public Timer()
    {
        timer.Elapsed += new ElapsedEventHandler(TimerElapsed);
    }

    void TimerElapsed(object sender, ElapsedEventArgs e)
    {
        try
        {
            busy.Reset();
            OnElapsed(e);
            timer.Start();
        }
        finally
        {
            busy.Set();
        }
    }

    public event EventHandler Elapsed;

    protected void …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading timer

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

在C++中仅对空私有构造函数使用声明是否正确?

例如这是正确的:

class C 
{
   private: 
     C();
     C(const & C other);
}
Run Code Online (Sandbox Code Playgroud)

或者您应该提供定义:

class C 
{
   private: 
     C() {};
     C(const & C other) {};
}
Run Code Online (Sandbox Code Playgroud)

?谢谢你目前的答案.让我们扩展这个问题 - 编译器是否在其中一个示例中生成了更好的代码?我可以想象为ctor强制编译器提供体在编译单元中包含一些(空)代码?这对于自动生成的代码也是如此吗?

c++ constructor declaration copy-constructor default-constructor

4
推荐指数
3
解决办法
1536
查看次数

Qt小部件更新,但什么时候?

我想知道当我调用QWidget的update()方法时会发生什么.
这是文档:

http://doc.qt.digia.com/4.5/qwidget.html#update

此功能不会立即重新绘制; 相反,当Qt返回主事件循环时,它会调度一个paint事件进行处理.这允许Qt优化以获得比调用repaint()更快的速度和更少的闪烁.

我从Qt源代码中看到创建了一个QUpdateLaterEvent,并使用QEvent :: UpdateLater类型发布

http://doc.qt.digia.com/4.5/qevent.html文档的这一部分中

QEvent :: UpdateLater:小部件应排队等待以后重新绘制.

"晚些时候"是什么意思?
在绘画之前,我的所有排队信号和事件队列中的事件都被处理了吗?

谢谢,
Gabor

qt qt4 signals-slots qwidget

5
推荐指数
1
解决办法
4244
查看次数

如何模拟IEnumerable <T>以便我可以测试接收它的方法

我有一个方法,我想测试哪个期望IEnumerable<T>作为参数.

我目前正在嘲笑以下内容IEnumerable<T>(使用Moq):

 var mockParent = new Mock<ICsvTreeGridExportable>();
 var mockChild = new Mock<ICsvTreeGridExportable>();
Run Code Online (Sandbox Code Playgroud)

它如何将这些模拟对象放入其中,IEnumerable<T>以便我可以将它们作为参数传递给我想要测试的方法?

我正在测试的方法希望得到一个 IEnumerable<ICsvTreeGridExportable>

.net unit-testing moq mocking

15
推荐指数
2
解决办法
9568
查看次数

删除分支后,是否可以看到svn分支历史记录?

我想删除一个svn分支,以确保人们不会错误地在归档分支上工作(我们已经将分支合并到主干中).

但是,我不想放弃分支的历史,理想情况下仍然希望能够看到乌龟svn图中的分支.

我可以拥有两全其美(清理分支和历史)吗?

svn tortoisesvn

16
推荐指数
1
解决办法
7093
查看次数

Xcode调试器:cmd行应用程序 - 从sudo开始?

我需要使用Xcode调试命令行应用程序...我需要调试器使用'sudo'启动我的应用程序.我如何告诉Xcode这样做?

thx->进阶

macos xcode

8
推荐指数
2
解决办法
7887
查看次数

如何仅使用粘合剂在地图中找到值

在地图的第二个值中搜索我使用如下内容:

typedef std::map<int, int> CMyList;
static CMyList myList;

template<class t> struct second_equal
{
    typename typedef t::mapped_type mapped_type;
    typename typedef t::value_type value_type;

    second_equal(mapped_type f) : v(f)   {};
    bool operator()(const value_type &a) { return a.second == v;};

    mapped_type v;
};
...    
int i = 7;
CMyList::iterator it = std::find_if(myList.begin(), myList.end(), 
                                    second_equal<CMyList>(i));
Run Code Online (Sandbox Code Playgroud)

问题:如何在不提供自写模板的情况下在一行中进行此类查找?

c++ stl

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

单击重叠项目上的事件

我有

  • 具有单击事件的表行
  • 单击事件的按钮,该按钮位于表格行上

我有问题 当我点击按钮时,行点击事件也会执行,但我不想要这种行为.我只想点击按钮执行,没有行点击.

javascript jquery events onclick buttonclick

9
推荐指数
2
解决办法
8691
查看次数

您通常会使用什么T-SQL数据类型来表示重量和长度?

我正在设计一个包含几个字段的表,用于记录重量和长度.
例如:
5千克和50克将被存储为5.050.
2米25厘米将存储为2.25.

什么T-SQL数据类型最适合这些?
将需要对这些字段进行一些计算,但使用默认小数(18,0)似乎有点过分.

sql database-design types sql-server-2005

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

Silverlight 3.0 - 如何从UserControl访问MainPage控件值

我需要从MainPage检索一些控件值到UserControl.在这个UserControl中,我需要能够获取Frame.ActualWidth和Frame.ActualHeight值(在这种情况下,Frame元素在MainPage中,UserControl通过xaml加载到MainPage的Grid中).有人有样品吗?谢谢

Josimari Martarelli ESLSistemasLogísticosSilverlightUI设计

jmartarelli@logfacil.com.br

c# silverlight

5
推荐指数
1
解决办法
7039
查看次数