由于某种原因,我的程序正在退出
public async void Update()
{
short cooldown = 0;
Console.WriteLine("Update function");
do
{
if (secretKey >= 3 && cooldown == 0)
{
MessageBox.Show(getGUID(), "Kiosk ID");
cooldown = 9;
}
if (cooldown > 0)
cooldown--;
if (secretKey > 0)
secretKey--;
await Task.Delay(2000);
} while (true);
}
出于这个:
public Kiosk()
{
Init();
Update();
hook();
// _urlRequestWorker = new Thread(Update);
// _urlRequestWorker.Start();
}
正在调用“更新功能”WriteLine。这是最初被调用的函数:
[STAThread]
static void Main()
{
bool exists = System.Diagnostics.Process.GetProcessesByName(System.IO.Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetEntryAssembly().Location)).Count() > 1;
if (!exists)
{
Kiosk k = new Kiosk();
}
else
{
MessageBox.Show("One instance of Kiosk is already running");
Logs.saveLogs("Couldn't start instance of Kiosk because it's already running");
Environment.Exit(0);
}
}
主要功能
Thread.Sleep
我不知道为什么它会自动退出,我可以使用def my_view(request):
ob = MyModel.objects.get(pk=1)
print ob.html # "<div> Description <span> number </span>"
return render(request,'page.html',{'ob':ob})
,但我想连接一个键盘按键监听器来向我显示一个消息框。
答案 0 :(得分:4)
您对Update()的调用没有阻止:您正在开始通话,但您仍需要等待它。
从构造函数中删除对Update()的调用,然后......
#include <stdio.h>
#define VAR(End) cc##End // ## does token concatenation inside a pp macro
int main(void) {
int ccc = 9;
printf("hell loo %d", VAR(c));
return 0;
}
顺便说一下,你应该通过一个名为Mutex的对象来强制执行单个实例:你使用的方法不能保证工作。
答案 1 :(得分:0)
好吧所以这解决了问题
public Kiosk()
{
Init();
hook();
var updateTask = Update();
updateTask.Wait();
}
public async Task Update()
{
do
{
//CODE HERE
await Task.Delay(5000);
} while (true);
}