gpt4 book ai didi

c# - 线程计时器不起作用?

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:35 24 4
gpt4 key购买 nike

public class DHSApi
{
public void StartFetchingTickerInfo()
{

client = new clientAPI();

Trace.Write("Timer Started" );
Timer timer = new Timer(new TimerCallback(GetQuotes), null, 0, 10000);

}

public void GetQuotes(object obj)
{
Trace.Write("Timer Pass:" + timerPasser++);
if (currentWork > workList.Count - 1)
currentWork = 0;
Thread t = new Thread(Quote);
t.Start(workList);


}
private void Quote(object obj)
{
Trace.Write("Entered Quotes:" + quotesIn++);

lock (workList)
{
List<Work> works = new List<Work>();
int error = 0;

foreach (Work w in works)
{

client.CreateClientAPI();
//Work Work Work
client.DestroyClientAPI();
}
Trace.Write("Exits Quotes:" + d);
QuotesReturned(works);
}

}
private void QuotesReturned(List<Work> works)
{
Model.PIP pip;
foreach (Work w in works)
{

}
}
}

计时器基本功能假设在Web服务中终身运行...问题是计时器工作一次或两次,并且计时器停止了,我不知道为什么?我找不到原因。这一定是由于线程。当我基于偶数处理程序而不是计时器实现类似的事情时,也存在同样的问题。

计时器启动计时器传递:0输入的报价:0退出的报价:1线程''(0xb18)已退出,代码为0(0x0)。
计时器通过:1输入的报价:1退出的报价:2线程''(0x153c)已退出,代码为0(0x0)。
计时器通过:2输入的报价:2退出的报价:3线程''(0xf10)已退出,代码为0(0x0)。
计时器传递:3输入的引号:3退出的引号:4线程''(0x1044)已退出,代码为0(0x0)。
计时器通过:4输入的报价:4退出的报价:5线程''(0xd24)已退出,代码为0(0x0)。
计时器通过:5输入的报价:5退出的报价:6线程''(0x688)已退出,代码为0(0x0)。
计时器通过:6输入的报价:6退出的报价:7线程''(0x17c8)已退出,代码为0(0x0)。
计时器通过:7输入的报价:7退出的报价:8线程''(0xf34)已退出,代码为0(0x0)。
计时器通过:8输入的引号:8退出的引号:9线程''(0x16f4)已退出,代码为0(0x0)。
计时器通过:9输入报价:9退出报价:10线程''(0xf74)已退出,代码为0(0x0)。
计时器传递:10输入报价:10退出报价:11线程''(0x938)已退出,代码为0(0x0)。
计时器通过:11输入的报价:11退出的报价:12线程''(0x1048)已退出,代码为0(0x0)。
计时器通过:12输入的报价:12退出的报价:13线程''(0x17dc)已退出,代码为0(0x0)。
计时器通过:13输入的报价:13退出的报价:14线程''(0x174c)已退出,代码为0(0x0)。
计时器通过:14输入的报价:14退出的报价:15线程''(0x132c)已退出,代码为0(0x0)。
计时器通过:15输入的报价:15退出的报价:16线程''(0x3f8)已退出,代码为0(0x0)。
计时器通过:16输入的报价:16退出的报价:17线程''(0x10cc)已退出,代码为0(0x0)。
计时器通过:17线程''(0x1534)已退出,代码为0(0x0)。
输入的报价:17退出的报价:18线程''(0x1050)已退出,代码为0(0x0)。
线程''(0x850)已退出,代码为0(0x0)。
计时器传递:18输入报价:18退出报价:19线程''(0xca0)已退出,代码为0(0x0)。
计时器通过:19输入报价:19退出报价:20线程''(0x1120)已退出,代码为0(0x0)。
计时器通过:20输入的引号:20退出的引号:21线程''(0x508)已退出,代码为0(0x0)。
计时器通行证:21输入的报价单:21退出的报价单:22线程''(0x1598)已退出,代码为0(0x0)。
计时器通过:22输入的报价:22退出的报价:23线程''(0xb2c)已退出,代码为0(0x0)。
计时器通过:23输入报价:23退出报价:24线程''(0x1600)已退出,代码为0(0x0)。
计时器传递:24输入的报价:24退出的报价:25线程''(0x13bc)已退出,代码为0(0x0)。
计时器通过:25输入的报价:25退出的报价:26线程''(0x131c)已退出,代码为0(0x0)。
计时器传递:26输入报价:26退出报价:27线程''(0x5f4)已退出,代码为0(0x0)。
计时器传递:27输入报价:27退出报价:28线程''(0x128)已退出,代码为0(0x0)。
计时器通过:28输入报价:28退出报价:29线程''(0x1420)已退出,代码为0(0x0)。
计时器传递:29线程''(0xc64)已退出,代码为0(0x0)。
输入的报价:29退出的报价:30线程''(0xedc)已退出,代码为0(0x0)。
计时器通过:30输入的报价:30退出的报价:31线程''(0x136c)已退出,代码为0(0x0)。
计时器传递:31输入报价:31退出报价:32线程''(0xeb8)已退出,代码为0(0x0)。
计时器传递:32输入报价:32退出报价:33线程''(0x690)已退出,代码为0(0x0)。
计时器通过:33输入的报价:33退出的报价:34线程''(0x1320)已退出,代码为0(0x0)。
计时器传递:34输入报价:34退出报价:35线程''(0x11b8)已退出,代码为0(0x0)。
计时器通过:35输入的报价:35退出的报价:36线程''(0x1684)已退出,代码为0(0x0)。
计时器通过:36输入报价:36退出报价:37线程''(0x1294)已退出,代码为0(0x0)。
线程''(0x1240)已退出,代码为0(0x0)。
线程''(0xde8)已退出,代码为0(0x0)。

并停止....

完成...不好

解决方案:将线路Timer定时器置为;一流的

最佳答案

计时器实例在ctor中声明,然后将在相对较短的时间内将其丢弃。因此计时器的死亡。将“timer”变量固定在类级别。

但是,一旦不再使用计时器,就应该处置它。

干杯

关于c# - 线程计时器不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6908290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com