对同步异步的理解
来源:互联网 发布:360数据恢复在哪里 编辑:程序博客网 时间:2024/05/02 02:34
同步(synchronized)和异步(asynchronized)是对于多线程(multi-threading)而言的
同步可防止并发 主要出于数据安全的考虑
如某一线程在执行完对数据的加法操作后 在还没来得及使用新数据之前 被另一线程就抢先执行了减法操作
这样它就没法得到它单一施加影响的数据结果,存在安全隐患
异步允许并发
ajax技术通常都是异步实现的
去服务端请求数据的同时 前台的操作不会阻塞 而是异步进行 节省时间的同时保证了效率
你给你媳妇存钱,先查了一下是1000,你要存100,结果你存的时候你媳妇也正在取钱,她准备取100,如果这个时候不思锁定其中一人的动作,后果就很可能是,你媳妇取走了100,本来应该冲至账户金额为900,待还没有重置,你的存动作就过来了,因为之前你那里得到的信息是1000所以存的时候是1000+100,再以重置帐户,变成1100了而不是900
这就是同步(一个人占用了,我就不能再做了)
异步就是互不影响
ajax的第一个a就是异步,你一边浏览网页,后台一边和web服务器通信 检查你的用户名是否重复,但你却在前台根本看不出来
同步是为了保证数据的读写安全!当用户并发操作时对数据进行保护,防止错误的读写数据!
回复4:如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率
同步:必须保持相同步调。我在你前面就会始终在你前面,即使你跑的比我快又怎样,了不起啊,我有synchronized给我撑腰,你超我一个试试看,抽你丫的不可!
异步:(synchronized不知去向)你丫刚不是牛x吗?我还就超了你了,怎么招吧,你抽我一个看看,有本事冲这来!
- 对同步异步的理解
- 对Ajax同步异步的理解
- 对Silverlight同步与异步编程之我的理解
- 我对进程、线程、异步、同步的理解
- 个人对同步异步,阻塞非阻塞的理解
- 浅谈自己对异步交互、同步交互的理解
- 对.NET同步、异步、阻塞、非阻塞的理解。
- Android笔记--对同步与异步的概念上的理解和对LayoutParams的理解
- 同步与异步的理解
- 同步和异步的理解
- 同步和异步的理解
- 异步与同步的理解
- 同步和异步的理解
- 同步和异步的理解
- 对setTimeout异步的理解
- 对异步IO的理解
- 对异步编程的理解
- 对并发编程的同步/异步,阻塞/非阻塞的理解
- 杀毒业最大丑闻是如何诞生的?
- 为C++编程者开发的Objective-C(三)
- 结构体 对齐
- FVM和CFD资料来源
- 正则表达式参考文档
- 对同步异步的理解
- 计院生活--第二章 深入虎穴(上)
- Spring的核心机制依赖注入简介
- 推荐Java优秀视频
- 一步一步和我走,进入缤纷的嵌入式世界(连载4)
- 2009.2.28 OA项目组一周工作报告
- 开发者面试百问-测试部分答案
- 如何解决基本的 TCP/IP 问题
- coreldraw基本工具(1)