您的位置:首页 > 编程语言 > Java开发

js单线程与java多线程、同步与异步

2017-04-12 18:13 197 查看
       写这篇博客源于想对比一下单线程js和多线程java两种语言的区别。

      定义区:

           单线程:只能执行一个任务,只有在完成执行后,才能继续执行其他的任务。

           多线程:有多个线程,可以同时执行多个任务。

           同步:当发送一个请求后,必须等待响应之后才能继续执行后面的程序。

           异步:但发送一个请求后,可以不需要等待响应,可以直接执行后续的程序。

       js中如果触发多个事件(事件驱动),那么要按照事件顺序逐个执行,这与java中多线程的各个单独线程的执行情况是一致的,在js中值得一提的是Ajax 技术,这是个异步方法,即在Ajax发送一个请求之后,我可以继续执行后面的程序,包括click等事件也是异步的,直到响应后,再将callback放入等待队列中。对于一整个Ajax来说,可以吧它当作是一个同步的,只有等请求得到响应之后,我才能执行Ajax的callback。

      java中如果有多个任务,可以将他们分配到不同的线程中去执行,实现并发,每个单独线程中同步和异步情况和js中单线程情况是一致的。但多线程就存在一个资源共享的问题,就关于线程安全的问题,这是另一个问题,不予赘述。

    

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: