异步 同步

异步:我们一起同时去干一件事情;不管前边执行不执行,后边都会执行;
同步:一个事情没有处理完毕,就不处理下一个事情;一个方法没有执行完就不执行后边的;
var 0;
setInterval(function(){
    for(0;i<10;i++){
        console.log(i);
    }
},1000)       //一秒执行的时候for循环全部跑一遍,第二秒执行的时候for循环在全部跑一边;
console.log(i);   //输出的结果是先输出0  在输出0-9这个数;因为setInterval在1秒后会执行,而外面的i不会等时间;


setInterval(function(){
    for(var 0;i<10;i++){
        console.log(i);
    }
},1000)
console.log(i);//会报错  i属于私有变量;i在私有函数的里边;因为在外边访问不到i;

### 同步异步的概念及区别 #### 定义 同步是指一种执行模型,其中调用方会等待某个操作完成后再继续执行后续代码[^1]。而异步则是一种非阻塞的执行模型,允许调用方发起请求后立即返回并继续其他工作,无需等待当前操作的结果[^2]。 #### 执行流程 在同步模式下,程序按照线性顺序依次执行每一步操作,直到前一个任务完成后才会启动下一个任务。相比之下,异步模式允许多个任务并发运行,当某一任务准备就绪时再通知主线程进行处理[^3]。 #### 资源利用与效率 由于同步方法会在等待期间占用CPU资源,因此可能导致性能瓶颈特别是对于I/O密集型应用来说更为明显[^4]。相反地,采用异步机制可以有效减少不必要的等待时间从而提高系统的吞吐量和响应速度。 #### 应用场景 - **同步适用场合**: 当业务逻辑简单且不需要考虑高并发需求时可选用同步方式;或者是在某些特定情况下确实需要确保数据的一致性和准确性而不惜牺牲部分性能的时候也会倾向于使用同步方案。 - **异步适用场合**: 对于网络请求、文件读写等耗时较长的操作非常适合运用异步技术来提升用户体验以及服务器承载能力。此外,在构建大型分布式系统时为了实现更高的扩展性和灵活性通常也会大量依赖异步编程模型。 ```python import threading from concurrent.futures import ThreadPoolExecutor def synchronous_task(): print("Start Synchronous Task") # Simulate a blocking operation like I/O or computation. result = sum(range(10**7)) print(f"Synchronous Result: {result}") def asynchronous_task(): def async_worker(): print("Start Asynchronous Worker") result = sum(range(10**7)) print(f"Asynchronous Result: {result}") thread_executor = ThreadPoolExecutor(max_workers=1) future = thread_executor.submit(async_worker) if __name__ == "__main__": print("Running Synchronous Example:") synchronous_task() print("\nRunning Asynchronous Example:") asynchronous_task() ``` 上述代码展示了如何分别通过同步函数`synchronous_task` 和基于多线程池实现的异步函数 `asynchronous_task` 来模拟不同类型的计算任务. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值