系统粉 > 电脑问答 > 其他问答

已解决C#实现延迟的问题

提问者:多想听说你爱我  |  浏览次  |  提问时间:2017-03-03  |  回答数量:6

C#实现延迟的问题 A 用户 触发 方法 method1 :输出“A用户的名字”,10秒后(延迟函数实现),触发method2:输出“A用户end”;当B 用户触发 方法method1 的时候,输出“B用户的名字”,10秒后(延迟函数实现),触发method2:输出“B用户end”A用户在执行过程中,又不影响B用户的输出;这个延迟函数这样写,能实现么?long beginTime = DateTime.Now.Ticks;while (true){long endTime = DateTime.Now.Ticks;if ((endTime - beginTime) > 1e8) break;}

已有6条答案
汲先生丶

汲先生丶

回答数:93  |  被采纳数:112

用多线程,有个API叫做Sleep(10000)可以延时10秒,用while会占用CPU100%
2017-03-04 01:32:07
赞 9
鱼说爱吃猫

鱼说爱吃猫

回答数:134  |  被采纳数:5

这样写System.Threading.Thread.Sleep(10000);
A用户在sleep的同时,会影响到B 用户的操作么?
另外就是sleep 会不会很耗系统资源?
2017-03-04 04:05:03
赞 13
德涅斯特祖国

德涅斯特祖国

回答数:145  |  被采纳数:117

不知道,试试。在VC里Sleep期间CPU使用率为0%
2017-03-03 23:26:55
赞 14
卉儿1228

卉儿1228

回答数:124  |  被采纳数:91

sing System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace usertimer
{
class Program
{
//public void User1()
//{

//}
static void Main(string[] args)
{
new Thread(new ParameterizedThreadStart(TA)).Start("A用户");
new Thread(new ParameterizedThreadStart(TB)).Start("B用户");
Console.Read();
}

static void TA(Object User)
{
Console.WriteLine(User.ToString() + "的名字");
Thread.Sleep(10000);
Console.WriteLine(User.ToString() + "end");
}
static void TB(Object User)
{
Console.WriteLine(User.ToString() + "的名字");
Thread.Sleep(15000);
Console.WriteLine(User.ToString() + "end");
}
}
}

===================================================================
sleep 可以用,为每个用户开启一个线程的话,sleep后是否还需要 关闭这个线程?
因用户量很大,担心系统负担问题
2017-03-04 04:48:43
赞 12
新兰の樱雪恋

新兰の樱雪恋

回答数:212  |  被采纳数:54

在这个线程return以后就自动关闭了
2017-03-04 05:04:21
赞 21
净重是我的人生

净重是我的人生

回答数:52  |  被采纳数:35

多谢斑斑哈
2017-03-04 02:29:55
赞 5
相关问答
最新其他问答
解决方法