我想对C#进行测试(我想将它的运行速度与另一种语言进行比较).
我想要做的是在链中创建100,000个线程,让每个线程在它之前等待来自线程的值,当它获得值add 1并将值传递给下一个线程时.我们的想法是看它创建这些线程的速度有多快,最多可达100,000.
我不知道如何编写该代码.我可以像线程和计时一样做它的一部分,但我不确定如何将它们串在一起.
编辑
在线程方面,我似乎也可以了解我的知识缺陷.因此,让我们假设线程池(或其他一些低级方法)具有可比性,任何人都可以向我展示这样的例子吗?
private class MultipleGensListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
for(int i = 0; i < 25; i++)
{
game.runSimulationOneGen();
changeGrid();
}
}
}
Run Code Online (Sandbox Code Playgroud)
//这是循环.changeGrid方法在GUI上显示游戏网格,但//仅在屏幕上显示第25次迭代.在循环继续之前,我希望每个人都可以看到大约半秒钟.//我在这里看到的一些问题与我提出的问题非常接近,但是我真的不明白如何将它应用到我的程序中... //感谢您的帮助.
我是Android新手.任何人都可以告诉我如何每5秒执行一次消息.我尝试过这段代码,但它在我的模拟器上没有显示任何内容.我应该做什么呢?
while(true) {
Toast.makeText(this, "hi", Toast.LENGTH_SHORT).show();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个迷宫游戏,我试图一次创建两个计时器.1号(300秒后退出比赛)
t1.Interval = 30000;
t1.Enabled = true;
t1.Elapsed += new ElapsedEventHandler(hiddenTimer);
public static void hiddenTimer(object source, ElapsedEventArgs e)
{
Console.Clear();
Environment.Exit(1);
}
Run Code Online (Sandbox Code Playgroud)
2号(显示每1秒剩余的时间(如真实计时器))
t2.Interval = 1000;
t2.Enabled = true;
t2.Elapsed += new ElapsedEventHandler(showTimer);
public static void showTimer(object source, ElapsedEventArgs e)
{
Console.Write(timeLeft);
}
Run Code Online (Sandbox Code Playgroud)
我想在全局范围内传递声明timeLeft,但它说"非静态字段,方法或属性需要一个对象引用......"
我该如何正确申报?
我创建了一个基于MFC对话框的应用程序,并希望在窗体上添加计时器.但事实证明,MFC与.NET窗体不同.
我在messagemap中添加了ON_WM_TIMER().并添加了CMyDialog :: OnTimer(UINT_PTR x){}的函数定义
但是我在VS2005中遇到编译器错误.我不知道我做错了什么."错误C2509:'OnTimer':成员函数未在'CMyDialog'中声明"
非常感谢帮助.谢谢.
您好我想在visual c#中创建一个时钟.我尝试过使用日期时间选择器.
是啊.它得到了当前时间.但我想让它像真正的时钟一样自动更新,以便用户可以获得当前日期和时间的指南.谢谢....
顺便说一下它的窗体形式,我正在使用visual studio 2010
这就是我想要完成的事情;
随着对影片剪辑(cannon_mc)点击的射门被解雇(ball_mc)
较长的鼠标下降,球的射击速度应该增加.我的问题是;
实现这一目标的最有效方法是什么?用计时器或类似的东西;
var isMouseDown:Boolean = false;
var speed= 10;
myCannon.addEventListener(MouseEvent.MOUSE_DOWN,buttonPressed);
function buttonPressed(event:MouseEvent){
//trace("down");
isMouseDown == true;
if(isMouseDown == false)
{
speed == +1
}
}
Run Code Online (Sandbox Code Playgroud) 我是Android新手.我想制作一个录音应用程序.当我点击开始按钮然后在textView中我想显示计时器.例如,我想这样显示: - 1.20或2.30 ......
任何人都可以帮我显示计时器吗?
我知道这不是一个大问题,但我不理解我希望在我的应用程序中使用的计时器的概念.
请指导我任何人.
谢谢.
是否可以启动计时器并使用多个参数传递选择器方法?
下面是一个工作计时器的简单示例:
gameTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(gameLoop:)
userInfo:nil
repeats:YES];
Run Code Online (Sandbox Code Playgroud)
选择器方法将被命名 - (void)gameLoop:(NSTimer *)theTimer;
是否可以使用多个参数传递此选择器方法?那么该gameLoop方法还可以处理一个int值和一个bool值?
以下显然不起作用,但可能会突出我所追求的内容:
gameTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(gameLoop:NO:75)
userInfo:nil
repeats:YES];
- (void)gameLoop:(NSTimer *)theTimer isRunning:(bool)running numberOfSteps:(int)steps;
Run Code Online (Sandbox Code Playgroud) 我正在构建一个Windows服务基类来管理轮询任何待处理任务的计划表并运行它们.
Windows服务正在使用它System.Timers.Timer来启动计划的表轮询.
我ThreadPool.SetMaxThread在初始化定时器之前将其设置为10.
protected override void OnStart(string[] args)
{
ThreadPool.SetMaxThreads(10, 10);
this._Timer = new System.Timers.Timer();
this._Timer.Elapsed += new ElapsedEventHandler(PollWrapper);
this._Timer.Interval = 100;
this._Timer.Enabled = true;
}
Run Code Online (Sandbox Code Playgroud)
计时器调用的委托方法保留正在运行的线程的计数,以便可以在OnStop()方法中使用它来等待每个线程在处置服务之前完成.
private void PollWrapper(object sender, ElapsedEventArgs e)
{
numberOfRunningThreads++;
try
{
this.Poll(sender, e);
}
catch (Exception exception)
{
//some error logging here
}
finally
{
numberOfRunningThreads--;
}
}
protected override void OnStop()
{
this._Timer.Enabled = false;
while (numberOfRunningThreads > 0)
{
this.RequestAdditionalTime(1000);
Thread.Sleep(1000);
}
}
Run Code Online (Sandbox Code Playgroud)
通常,当我尝试从Windows服务管理控制台停止服务时,服务不会停止.如果我调试它并向OnStop()方法添加断点,我可以看到它不是因为numberOfRunningThreads卡在大于0的数字上(通常远大于10!).没有任务正在运行,它永远保留在该号码上!
首先,我不明白这个数字怎么可能大于10,尽管它ThreadPool.SetMaxThreads应该限制在10?
其次,即使我没有设置最大线程数,我也期望PollWrapper的finally块最终将计数恢复为0.如果计数器保持大于0,则只能用finally块来解释执行,对吧!?怎么可能? …