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

       写这篇博客源于想对比一下单线程js和多线程java两种语言的区别。

      定义区:

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

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

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

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


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

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

    

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值