栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

这个thread.abort()是否正常且安全?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

这个thread.abort()是否正常且安全?

不,这 是不是
安全的。

Thread.Abort()
最好的时候是足够粗略的,但是在这种情况下,您的控件无法(委托)控制委托回调中的操作。您不知道该应用程序的其余部分将保留在什么状态,并且当需要再次致电该委托人时,很可能会陷入困境。

设置一个计时器。文本更改后稍等片刻,然后再调用委托。然后等待它返回,然后再次调用它。如果它 缓慢的,或用户打字
快的话,他们可能不希望自动完成反正。

关于更新的(无Abort())代码:

现在,您将为(可能) 每个按键 启动一个新线程。这不仅会降低性能,而且没有必要-如果用户没有暂停,他们很可能不在寻找该控件来完成输入的内容。

我之前提到过,但是P Daddy说的更好:

您最好只实现一个一键式定时器(可能会有一个半秒的超时),并在每次击键时将其重置。

想想看:即使是快速连接到快速数据库,快速打字员也可能在第一个自动完成回调有机会完成之前创建线程得分。但是,如果你们推迟,直到最后一次按键后的短时间内请求已过,那么你打的是甜蜜点,其中用户已键入了所有他们想要更好的机会(或所有他们知道!),并且是
开始等待自动完成功能开始。延迟播放-
半秒可能适合不耐烦的触摸打字员,但是如果您的用户更放松…或者您的数据库更慢…那么您可能会延迟2-3秒甚至更长的时间来获得更好的结果。但是,此技术最重要的部分是您

resetthe timer on every keystroke

并且除非您期望数据库请求实际 挂起 ,否则请不要试图允许多个并发请求。如果当前正在处理一个请求,请在另一个请求完成之前等待它完成。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/365906.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号