标签: timer

.NET中的高分辨率计时器

我想对我的代码进行一些基本的分析,但发现C#中的DateTime.Now只有大约16毫秒的分辨率.必须有更好的时间保留我尚未找到的构造.

.net profiling timer

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

在iPhone中每60秒后调用一个方法

我创建了一个GKSession,当它的对象被创建时,它开始搜索设备的可用性,如

 - (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state {
Run Code Online (Sandbox Code Playgroud)

我想在每60秒后调用一次这个方法,我该怎么办?

iphone timer nstimer gksession

33
推荐指数
2
解决办法
5万
查看次数

如何在Linux中创建高分辨率计时器来衡量程序性能?

我正在尝试将GPU与CPU性能进行比较.对于NVIDIA GPU,我一直在使用这些cudaEvent_t类型来获得非常精确的时序.

对于CPU我一直在使用以下代码:

// Timers
clock_t start, stop;
float elapsedTime = 0;

// Capture the start time

start = clock();

// Do something here
.......

// Capture the stop time
stop = clock();
// Retrieve time elapsed in milliseconds
elapsedTime = (float)(stop - start) / (float)CLOCKS_PER_SEC * 1000.0f;
Run Code Online (Sandbox Code Playgroud)

显然,如果你在几秒钟内计算,那段代码就是好的.此外,结果有时候出来很奇怪.

有谁知道在Linux中创建高分辨率计时器的某种方法?

c linux precision timer high-resolution

33
推荐指数
2
解决办法
7万
查看次数

便携式库中的定时器

我在便携式库/ Windows Store中找不到计时器.(定位.net 4.5和Windows Store又称Metro)

有没有人知道如何创建某种计时事件?

我需要一些秒表,所以这应该每秒刷新一次

c# timer portable-class-library microsoft-metro

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

Python循环运行一定的秒数

我有一个while循环,我希望它能持续运行15分钟.它目前是:

while True:
    #blah blah blah
Run Code Online (Sandbox Code Playgroud)

(这会运行,然后重新启动.我需要它继续执行此操作,除非它退出循环15分钟后)

谢谢!

python time timer while-loop

33
推荐指数
2
解决办法
7万
查看次数

Java中的javascript setTimeout相当于什么?

我需要实现一个函数,在单击一个按钮60秒后运行.请帮助,我使用了Timer类,但我认为这不是最好的方法.

javascript java timer settimeout setinterval

33
推荐指数
6
解决办法
5万
查看次数

在定时器的回调方法中抛出异常

我无法在任何地方找到这个问题的答案......

System.Threading.Timer的回调方法(或在System.Timers.Timer的事件处理程序中)抛出的异常会发生什么.异常是否传播到创建计时器的线程或异常丢失?

在计时器的回调函数中抛出异常有什么副作用?

什么是向计时器的创建线程发信号通知工作线程(回调方法)中的异常被抛出的正确方法?

谢谢你的时间.

c# multithreading exception timer backgroundworker

32
推荐指数
1
解决办法
1万
查看次数

你能使用标准的c ++/c ++ 11实现一个没有"睡眠"的计时器吗?

我有以下代码(手工复制):

// Simple stop watch class basically takes "now" as the start time and 
// returns the diff when asked for.
class stop_watch {...}

// global var
std::thread timer_thread;

void start_timer(int timeout_ms)
{
    timer_thread = std::thread([timeout_ms, this](){
        stop_watch sw;
        while (sw.get_elapsed_time() < timeout_ms)
        {
            // Here is the sleep to stop from hammering a CPU
            std::this_thread::sleep_for(std::chrono::milliseconds(10));
        }

        // Do timeout things here...
        std::cout << "timed out!" << std::endl;
    })
}
Run Code Online (Sandbox Code Playgroud)

我不想太沉迷于我写的课程的细节,所以这是一个非常简化的版本.完整的类调用函数回调并具有取消计时器等的变量...

我只想专注于"睡眠"部分.我可以在没有睡眠的情况下实现这样的事情,还是有更好的方法来实现它? - 还是睡得很好? - 我认为睡眠通常是糟糕设计的标志(我已经读过几个地方)......但我想不出一种方法来实现没有一个计时器:(

附加说明:计时器应该能够随时停止/唤醒.只是为了清晰起见而添加它,因为它似乎影响了要采用的解决方案.在我的原始代码(不是这个代码片段)中,我使用了一个可以突破循环的原子bool标志.

c++ timer c++11

32
推荐指数
2
解决办法
4155
查看次数

什么是基于iPhone的mach_absolute_time

我使用此代码来跟踪上次重启:

+ (float) secondsSinceLastReboot{
     return ((float)(mach_absolute_time())) * ((float)timebase.numer) / ((float)timebase.denom) / 1000000000.0f;
}
Run Code Online (Sandbox Code Playgroud)

我假设mach_absolute_time()基于上次设备启动时间,就像在mac上一样.它似乎不是基于此.我实际上不知道它的基础是什么.

请看以下行为(今天的日期是2009-09-20):

lastRebootTime = [[NSDate date] addTimeInterval:-[self secondsSinceLastReboot]];
//last Reboot Time will contain : 2009-09-20 07:42:14 +0100
Run Code Online (Sandbox Code Playgroud)

我绝对肯定我当时没有重启我的设备.我的设备一周内没有启动.

此外,当我从电缆上取下设备并运行此应用程序时,似乎当设备进入休眠状态时,lastRebootTime将来会开始转移.似乎mach_absolute_time没有考虑睡眠时间.或者我错了吗?

我真的希望能够从设备上次重启时获取时间戳.有任何想法吗?

iphone timer

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

Windows Service System.Timers.Timer未触发

我有一个用C#编写的Windows服务,用于每隔几分钟执行一次任务.我正在使用它System.Timers.Timer,但它似乎永远不会发射.我在SO和其他地方查看过很多不同的帖子,我没看到我的代码有什么问题.

这是我的代码,为清楚起见删除了与非计时器相关的项目...

namespace NovaNotificationService
{
    public partial class NovaNotificationService : ServiceBase
    {
        private System.Timers.Timer IntervalTimer;
        public NovaNotificationService()
        {
            InitializeComponent();
            IntervalTimer = new System.Timers.Timer(60000);  // Default in case app.config is silent.
            IntervalTimer.Enabled = false;
            IntervalTimer.Elapsed += new ElapsedEventHandler(this.IntervalTimer_Elapsed);
        }

        protected override void OnStart(string[] args)
        {
            // Set up the timer...
            IntervalTimer.Enabled = false;
            IntervalTimer.Interval = Properties.Settings.Default.PollingFreqInSec * 1000;
            // Start the timer and wait for the next work to be released...
            IntervalTimer.Start();
        }

        protected override void OnStop() …
Run Code Online (Sandbox Code Playgroud)

.net service windows-services timer

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