Java语言中的同步和异步有联系吗?有什么区别?(答得好可以考虑加分)

[复制链接]
查看11 | 回复3 | 2011-7-16 10:41:20 | 显示全部楼层 |阅读模式
1)使用同步的好处?在什么情况下使用?(最好能举个例子)
2)使用异步的好处?在什么情况下使用?(最好能举个例子)
3)这两者有关系吗,应该不是非此即彼吧,有什么异同?
最好举几个个跟java编程有关的例子。

回复

使用道具 举报

千问 | 2011-7-16 10:41:20 | 显示全部楼层
同步:发送一个请求,等待返回,然后再发送下一个请求 异步:发送一个请求,不等待返回,随时可以再发送下一个请求 同步可以避免出现死锁,读脏数据的发生,一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改。异步则是可以提高效率了,现在cpu都是双核,四核,异步处理的话可以同时做多项工作,当然必须保证是可以并发处理的。这些都是对的。同步和异步最大的区别就在于。一个需要等待,一个不需要等待。比如广播,就是一个异步例子。发起者不关心接收者的状态。不需要等待接收者的返回信息电话,就是一个同步例子。发起者需要等待接收者,接通电话后,通信才开始。需要...
回复

使用道具 举报

千问 | 2011-7-16 10:41:20 | 显示全部楼层
同步好处:确保了在多线程情况下数据的唯一性和完整性,举个同步例子:比如有一个全局static变量,多个线程在访问修改这个变量,为了防止当前线程访问的变量被另外一个线程修改,只能采用同步synchronized为对象加锁。public static int INDEX = 0;class T implements Runnable{
pu...
回复

使用道具 举报

千问 | 2011-7-16 10:41:20 | 显示全部楼层
同步:发送一个请求,等待返回,然后再发送下一个请求 异步:发送一个请求,不等待返回,随时可以再发送下一个请求 同步可以避免出现死锁,读脏数据的发生,一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改。异步则是可以提高效率了,现在cpu都是双核,四核,异步...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行