A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夕阳123 初级黑马   /  2014-3-29 17:46  /  1127 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多线程中同步和异步和哪些不同,怎么使用它们呢?

2 个回复

倒序浏览
如果数据将在线程间共享。比如正在写的数据以后可能被另一个线程读到,或者正在读的数据
可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法
的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
我觉得你问你问题很好,可能两者都差不多,不过从字面上看,异步是对当前的调用者来说,调用的时候自己的程序在运行,异步的程序也同时在运行;多线程好像更偏于从第三方来看,比如两个者多个线程同时处理一个资源,或者同时处理各自的事情,但是多个线程之间的CPU争用可能要自己来写,比如用sleep();而异步是不用管这个的,你可以过一定的时间来查看异步的程序有没有完成或者让它调用一个事件来通知当前的程序它完成了,比如用在程序中查看IsCompleted来确定异步的调用是不是完成.我觉得用哪一种可能不重要,当你觉得用其中一个更合适的时候就选择一个就是了

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 (⊙o⊙)…

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马