c#中开启一个线程完成一次任务更好,还是让线程等待任务好

我现在有这样一个需求。客户端要向服务器索要数据,但是数据又比较大,所以实时获取数据会大大影响效率。所以我提前用另一个线程来获取数据,这样就不会影响网络线程。但是问题来了。获取数据不是一个无限循环的过程。我是每获取一次就Start一次,还是在线程里面用一个while+一个bool来控制获取?我想知道哪一种方法更耗。

这个方法当然不可行。我给你举个例子,你去火车站买票。窗口就这么多,有人来了就排队,不会每个人都有一个窗口。如果人实在太多了,可以考虑增设一些窗口,人少了,又可以关闭一些窗口。线程可以重复使用,不必执行完一个线程就销毁了。售票员卖了一张票还要继续卖票,等到下班了,(这一天)他便不卖了。一样的道理,等某个时间你确定不会在有任务要到来,那么你可以销毁这些线程了。你可以熟悉下,线程池技术。这个正是你所需要的追问

你弄错我意思了。。。我不是指一个线程对一群用户,而是就对单一的一个用户而言。线程是来一个开启一次,还是一直等待这个用户发来获取指令。我的意思是当一个用户开启之后,是开启一个线程(线程.start(),不是实例化。。。。)获取完数据之后线程随着方法执行完而结束,然后等待下一次的用户指令,重新start().还是开启一个线程之后,while单独检测这个用户的指令,如果他要就发送,直到这个用户下线,然后再转向另一个用户。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答