标签: timer

将总和添加到计时器

我想知道如何创建一个sum + 1每 5 秒添加一次的标签?我尝试过使用 if 循环,但不幸的是它在一秒钟后重置。

using System.Diagnostics;
// using system.diagnotics voor stopwatch 
    
namespace WindowsFormsApplication7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();                
        }
    
        private Stopwatch sw = new Stopwatch();
           
        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            sw.Start();
    
            if (timer1.Enabled == true) { button1.Text = "stop"; }
            else { button1.Text = "false"; sw.Stop(); }
     
        }
    
        private void timer1_Tick(object sender, EventArgs e)
        {
            int hours = sw.Elapsed.Hours;
            int minutes = sw.Elapsed.Minutes; …
Run Code Online (Sandbox Code Playgroud)

c# sum timer

0
推荐指数
1
解决办法
803
查看次数

超时/间隔是基于 CPU 还是浏览器?

我正在开发一个严重依赖计时器的项目。我见过 1-2 个场景,其中计时器速度减慢,并且没有按应有的那样每秒滴答一次,但 1 秒/滴答需要 2-3 秒。通常这是由于整个计算机速度变慢并且变得非常滞后。我无法复制它,但一些用户报告了类似的发现,一旦他们重置计算机,一切都会正常。

我的问题是,超时/间隔如何工作?如果浏览器陷入困境,它会减慢计时器的速度,还是基于 CPU/系统时间?另外,是否还有其他人发生过类似的情况,如果是这样,我可以采取哪些措施来纠正这种情况(即使系统很慢,也让 15 秒计时器在 15 秒后实际触发一个事件)?

javascript timer

0
推荐指数
1
解决办法
1467
查看次数

如何在没有 QT 应用程序的情况下使用 QTimer

我想在我的常规课程中使用 QTimer(没有 QT 应用程序,而是从 QTimer 派生)。但是当我尝试这个时:

标题:

#include <qtimer.h>
QTimer* m_timer;
public slots:
    void UpdateClock();
Run Code Online (Sandbox Code Playgroud)

来源:

    m_timer = new QTimer(this);
    QObject::connect(m_timer, SIGNAL(timeout()), this, SLOT(UpdateClock()));
    m_timer->start(1000);

void MyClass::UpdateClock()
{
    int i = 0;
}
Run Code Online (Sandbox Code Playgroud)

计时器永远不会跳转到 UpdateClock 方法!你知道为什么以及我如何解决这个问题吗?

谢谢!

c++ qt timer

0
推荐指数
1
解决办法
2297
查看次数

如何在 process.waiforexit() 时运行计时器?

我的表单包含两个控件:button1和timer1

timer1.Interval=1000; timer1.Enable=true;    
Run Code Online (Sandbox Code Playgroud)

当点击按钮1时,Windows上的应用程序将启动。例如:记事本将显示。
但是当记事本显示时,timer1 没有运行。
怎么让timer1这么运行呢??

我的代码:

private void button1_Click(object sender, EventArgs e)
{
    Process pro = new Process();
    pro.StartInfo.FileName = "notepad";
    pro.StartInfo.Arguments = "";
    pro.Start();
    pro.WaitForExit();
}
private void timer1_Tick(object sender, EventArgs e)
{
    DateTime dtime = DateTime.Now;
    string date_time = dtime.ToString("dd/MM/yyyy HH:mm:ss");
    textBox2.Text = date_time;
}
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading timer process

0
推荐指数
1
解决办法
944
查看次数

Java - GUI 时钟使用大量 RAM?

我用 Java 为桌面小部件制作了一个小时钟(该小部件还包括许多其他功能)。我在任务管理器中检查了应用程序 RAM 使用情况,发现时钟使用了 700+ MB 的 RAM。我禁用了时钟,RAM 使用量下降到大约 60 MB。这是时钟代码:

final int timeRun = 0;
    new Thread()
    {
        public void run()
        {
            while(timeRun == 0)
            {
                Calendar cal = new GregorianCalendar();
                int hour = cal.get(Calendar.HOUR);
                int min = cal.get(Calendar.MINUTE);
                int sec = cal.get(Calendar.SECOND);
                int AM_PM = cal.get(Calendar.AM_PM);

                String day_night = "";

                if (AM_PM == 1){
                    day_night = "PM";
                }else{
                    day_night = "AM";
                }

                String time = hour + ":" + min + ":" + sec + " " …
Run Code Online (Sandbox Code Playgroud)

java timer

0
推荐指数
1
解决办法
1532
查看次数

带定时器的单独单元的调用过程

我正在尝试编写一个单独的单元供我的主窗体调用,除了使用TTimer.

基本上,该函数应该做的就是主窗体uDataReceived调用BlinkRect(Gateway)rRectControl单元形式处理,并且相应的矩形将在主窗体中闪烁。

以下是代码:

unit uRectControl;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  System.Variants, System.IOUtils, FMX.Graphics, FMX.Types, FMX.Objects;

var
  Blinks: array [0 .. 2] of record Rectangle: TRectangle;
  Timer: TTimer;
end;

type
  TMyClass = Class(TObject)
  private
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  public
    procedure BlinkRect(Gateway: integer);
  end;

procedure AssignRectangles;

implementation

uses uDataReceived;
// Error shows "Cannot resolve unit name 'uDataReceived'

{ TMyClass }

procedure AssignRectangles;
var
  i: integer;
begin
  Blinks[0].Rectangle := TC_Theft_Detection.rect1;
  // Error shows …
Run Code Online (Sandbox Code Playgroud)

delphi timer timertask firemonkey delphi-xe7

0
推荐指数
1
解决办法
784
查看次数

使用 epoll 时,timerfd 不会准备好读取

我打算使用 epoll 来检查 timefd 并触发一些操作。代码如下:

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/timerfd.h>
#include <stdint.h>
#include <unistd.h>
#include <sys/epoll.h>

int main(int argc, char const *argv[])
{
    struct timespec now;
    clock_gettime(CLOCK_MONOTONIC, &now);
    int timerfd;
    timerfd = timerfd_create(CLOCK_MONOTONIC, 0);
    struct itimerspec new_value;
    new_value.it_value.tv_sec = 1;
    new_value.it_interval.tv_sec = 1;
    timerfd_settime(timerfd, 0, &new_value, NULL);
    // uint64_t buff;
    // while(true) {
    //  read(timerfd, &buff, sizeof(uint64_t));
    //  printf("%s\n", "ding");
    // }

    // code above works fine.

    struct epoll_event ev, events[10];
    int epollfd;
    epollfd = epoll_create1(0);
    if …
Run Code Online (Sandbox Code Playgroud)

c linux epoll timer

0
推荐指数
1
解决办法
1153
查看次数

iOS 应用程序中带有计时器和循环的流畅动画

我的 ViewController 的星级评级如下所示(除了有 10 颗星)

在此输入图像描述

当用户打开 ViewController 来查看某些没有评级的对象时,我想用非常简单的方法将用户的注意力吸引到这些星星上:动画星星突出显示(当每个字母相继突出显示时,您可以在现实世界中的某些广告上看到这种行为)。

  1. 突出显示一颗星
  2. 突出显示两颗星
  3. 突出显示三颗星
  4. ......
  5. 全部关闭

这就是我的做法

func delayWithSeconds(_ seconds: Double, completion: @escaping () -> ()) {
    DispatchQueue.main.asyncAfter(deadline: .now() + seconds) {
        completion()
    }
} 

func ratingStarsAnimation() {
    for i in 1...11 {
        var timer : Double = 0.6 + Double(i)*0.12
        delayWithSeconds(timer) {
            ratingStars.rating = (i < 10) ? Double(i) : 0
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?我有一个名为delayWithSeconds 的函数来延迟操作,我使用这个函数来延迟每个星星的突出显示。0.6 是动画开始前的初始延迟。突出显示所有星星后 - 最后一步是关闭所有星星的突出显示。这段代码可以工作,但我不能说它很顺利。

我的问题是:

  1. 如何更改 0.6 + Double(i)*0.12 以获得平滑的动画感觉?
  2. 我认为我的延迟解决方案不好 - 我怎样才能更好地解决平滑的星星突出显示任务?

animation timer grand-central-dispatch swift

0
推荐指数
1
解决办法
2484
查看次数

返回计时器片段时计时器更新 UI

我有2个碎片。在他们之间的交易中我正在替换他们。在第二个片段上,我有一个计时器女巫更新 TextView。这是我需要的流程。

  • 1)转到第二个片段。
  • 2) 启动计时器。
  • 3)返回第一个Fragment(当定时器运行时)
  • 4)回到第二个Fragment,继续更新TextView。

我的问题是,当我回到第二个片段并且计时器正在运行时,TextView 不再更新。

这是我的代码:

主要活动:

public class MainActivity extends AppCompatActivity{

private FragmentManager fragmentManager;
private FragmentTransaction fragmentTransaction;


@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setFragmentTransaction(null);

}



/**
 * A fragment transaction Method
 *
 * @param fragment the fragment we want to display
 */
public void setFragmentTransaction(Fragment fragment) {

    fragmentManager = getFragmentManager();
    fragmentTransaction = fragmentManager.beginTransaction();

    //replacing fragments new Fragments
    if (fragment != null ) {
        fragmentTransaction.replace(R.id.container, fragment);
    } else if(fragment == null && (fragmentManager.getBackStackEntryCount() …
Run Code Online (Sandbox Code Playgroud)

android timer fragment

0
推荐指数
1
解决办法
2638
查看次数

硬件定时器如何工作并影响软件性能?

我想使用异步函数调用。我选择了boost::deadline_timer

对我来说,硬件计时器是一种特定的硬件(令人惊讶),它独立于 CPU 工作,仅用于监视时间。同时,如果我理解正确,它也可以用于设置超时并在达到超时时产生中断。(计时器

其主要优点是异步执行。设置定时器的线程可以继续工作,回调函数将在设置定时器的同一线程中触发。

让我描述一下我在行动中看到的情况。

  1. 应用程序包含一个或多个工作线程。例如,他们处理输入项目并过滤它们。让我们考虑应用程序有 5 个线程,每个线程设置一个计时器(5 秒)。

  2. 应用程序正在运行。例如当前线程是thread-3.

  3. 计时器 ( thread-0) 已到期并生成(可能是错误的术语)中断。

  4. 线程上下文切换 ( thread-3-> thread-0);

  5. 回调函数执行;

  6. 计时器 ( thread-1) 已到期并产生中断。

...

等等

PS0。我知道这不仅仅是多线程应用程序的一种可能情况。

问题:

  1. 我是否正确描述了工作过程?

  2. 难道我理解正确的话,即使当前线程thread-0它也导致上下文切换,因为线程必须停止执行当前的代码,并切换到执行从回调机能的研究码?

  3. 如果每个线程设置 100k 或 500k 计时器,它将如何影响性能?

  4. 硬件是否有计时器计数的限制?

  5. 更新计时器的超时时间有多昂贵?

c++ assembly asynchronous timer lock-free

0
推荐指数
1
解决办法
85
查看次数