同步和异步有何不同,在什么情况下分别使用他们?
2016-11-21 14:34
465 查看
如果数据静载线程间共享,使用同步。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
同步示例:
将需要同步执行的代码加入到同步方法或同步块中(使用synchronized关键字修饰);
B-S模式中,使用Form表单提交数据,发送的就是同步请求,当响应返回后,才可以继续操作。
当程序在对象上调用了一个需要长时间执行的方法,并不希望程序等待方法的返回时,使用异步编程,在很多情况下异步的效率更高。
异步示例:
在主线程中,启动另一个线程,完成一些耗时操作,可以理解为异步操作;
B-S模式中,使用Ajax向服务器端发送异步请求,在响应没有返回客户端时,客户端可以继续操作,当响应返回客户端后,就能显示结果。
同步示例:
将需要同步执行的代码加入到同步方法或同步块中(使用synchronized关键字修饰);
B-S模式中,使用Form表单提交数据,发送的就是同步请求,当响应返回后,才可以继续操作。
当程序在对象上调用了一个需要长时间执行的方法,并不希望程序等待方法的返回时,使用异步编程,在很多情况下异步的效率更高。
异步示例:
在主线程中,启动另一个线程,完成一些耗时操作,可以理解为异步操作;
B-S模式中,使用Ajax向服务器端发送异步请求,在响应没有返回客户端时,客户端可以继续操作,当响应返回客户端后,就能显示结果。
相关文章推荐
- 同步和异步有何异同,在什么情况下分别使用他们?
- 同步和异步有何异同,在什么情况下分别使用他们?
- java开发线程篇3:同步和异步有何异同,在什么情况下分别使用他们?举例说明。
- 【Java面试题】25 同步和异步有何异同,在什么情况下分别使用他们?举例说明。
- 同步和异步有何异同,在什么情况下分别使用他们?举例说明。
- 同步和异步有何异同,在什么情况下分别使用他们?
- 同步与异步有何异同?在什么情况下分别使用他们?
- 同步和异步有何异同,在什么情况下分别使用他们
- 同步和异步的区别和联系以及一般在什么情况下使用它们
- delegate和notification区别,分别在什么情况下使用?
- apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
- HTTP请求中同步与异步有什么不同
- 使用ab.exe监测100个并发/100次请求情况下同步/异步访问数据库的性能差异
- DNS分别在什么情况下使用UDP和TCP?
- 什么情况使用 weak 关键字,和assign何不同?
- DNS分别在什么情况下使用UDP和TCP
- 同步和异步有什么不同?
- DataReader和sqlDataAdapter+DataSet,分别在什么情况下使用?
- HTTP协议中POST、GET、HEAD的区别是什么?分别在什么情况下使用?
- 英语副词和介词是什么?分别在什么情况下使用?