多线程与单线程,异步与同步

多线程指多个程序线程并发执行,而单线程指单个线程执行。

异步表示执行任务a时,可以同时执行任务b而不被阻塞;同步则相反,同步表示执行任务a时执行任务b,此时任务a不能继续执行下去,必须等待任务a完成。

多线程既可以异步又可以同步,但是异步必须由多线程完成。

单线程不能异步。设想如果有一个线程能在不同的任务之间来回切换,那么这和多线程没有区别,多线程本身也是cpu的物理线程切换不同的程序线程,对于单核单线程cpu来说,同一时间也只有一个线程在运行。JavaScript号称单线程异步,其实是将要异步的程序交给了浏览器的其他线程,然后js主线程继续执行接下来的代码,等浏览器执行完异步任务后,会把结果放入列队,然后js再去处理这个列队。

发表评论

邮箱地址不会被公开。 必填项已用*标注