2016 - 2024

感恩一路有你

线程阻塞的解决方法 JS单线程,如何避免阻塞?

浏览量:3021 时间:2021-03-17 05:51:24 作者:admin

JS单线程,如何避免阻塞?

阻塞是指暂停线程的执行以等待条件发生(如资源准备就绪)。JS单线程可以避免阻塞。方法:1。Sleep()方法:Sleep()允许您指定一个以毫秒为单位的时间段作为参数,这样线程就可以在指定的时间内进入阻塞状态,而无法获得CPU时间。一旦过了指定的时间,线程将重新启动并进入可执行状态。通常,sleep()用于等待资源准备就绪:在测试发现不满足条件后,让线程阻塞一段时间,然后重新测试,直到满足条件为止。

2. Suspend()和resume()方法:这两个方法一起使用。Suspend()使线程进入阻塞状态,不会自动恢复。必须调用相应的resume(),使线程再次进入可执行状态。Suspend()和resume()用于等待另一个线程生成的结果:在测试发现结果尚未生成后,让线程阻塞。在另一个线程生成结果后,调用resume()来恢复它。

3. Yield()方法:Yield()使线程放弃当前的CPU时间,但不阻塞线程,即线程仍处于可执行状态,随时可能再次获得CPU时间。调用yield()的效果相当于调度程序认为线程已经执行了足够的时间,可以转到另一个线程。

4. Wait()和notify()方法:这两个方法一起使用。Wait()使线程进入阻塞状态。有两种形式:一种是允许指定以毫秒为单位的时间段作为参数,另一种是无参数。前者允许线程在调用相应的notify()或超过指定时间时重新进入可执行状态,而后者则要求调用相应的notify()。

线程阻塞的解决方法 js实现confirm阻塞 js异步处理有哪些

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。