线程同步是什么意思,异步是什么,我理解为同步就是多过线程同时运行访问服务器,对吗?

瓜戳戳的,一句话的事给我整这么长,在搞啥子药

同步(synchronous)就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。
“同”字从字面上容易理解为一起动作,其实不然,“同”字应是指协同、协助、互相配合。能表示前者意义的是“并发”。
那么异步就与同步相反,就像两个人走路,每个人按照自己的节奏走,步伐不一定要一致。

同步/异步这对概念其实在不同的领域有不同的含义。

在多线程的领域,其实只有同步的概念,当两个或两个以上的线程共享某些资源或需要相互配合来完成某些工作时,就必须通过线程同步来协调各个线程运行的次序。
比如在线程A和B配合工作时,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。或者当线程A和B共享一个资源时,如果同一时间读写这个资源,就会发生资源竞争的问题,这时就只能允许某个时间点只有一个线程占有资源,另外一个线程等待,这也是线程同步。

而在过程调用以及访问服务器的领域,这里的异步是指在调用一个过程或请求服务器的服务时,调用/请求方的调用/请求可以在调用操作完成或服务器响应之前返回,做一些其他的工作,当调用完成或服务器响应时再继续与被调方/服务器的协同工作。而同步则是在调用操作完成或服务器响应之前不返回,持续地等待,以确保调用方/客户端与被调方/服务器协同一致。

另外在通信领域也有同步/异步的概念,异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,结束时有停止位。而同步就是接收端要按照发送端所发送的每个码元的起止时刻和重复频率来接收数据,两者时间上必须取得一致。追问

抄的,鉴定完毕

追答

我总结整理了一下,满意否?有不明地方不妨再问。

现在这个大部分是我自己总结的,少部分引用,并做了整理。不敢说完全全面且严谨,毕竟是是结合经验用心写的。能否有所获,也请做个回应吧?

追问

太太太太长了,看死人呀,这个,能否用简单明了的话阐述,understand。。。。。

追答

可它就是这样啊,在不同领域的具体含义有不同,你可以根据自己遇到的情况来看啊,对于多线程就看多线程那段就行。线程同步确实就是比较复杂的概念,你可以看看操作系统相关教材,有关线程同步都是一个大章节的。你不全面了解它的本质,仅知道它的大概意思也没什么用。

的确万事万物往往可以用一句话概括,但这是在全面理解它本质的基础上,没有深入哪来浅出?想着用一句话来学会一个概念,劝你趁早死了这心。

追问

我很恼火谁能救我,回答都这么长,我的天啦,你是干什么的,我很好奇,一句话的事给我整这么长,在搞啥子药,你不累吗??

追答

你如果确实想学习还嫌这几百字长?太浮躁了。

追问

哎,我确实很忙,你是干啥子的药

追答

你也许觉得我讲解水平不够。但我可以拍着良心说,这个概念真不是一句话能说清楚的。
我是程序员啊。
我初学时也奇怪编程怎么这么复杂,引申出这么多概念、理论,学习一个概念要牵扯一大堆的东西。慢慢才明白是自己太浮躁。

追问

哦,在哪里,请满足我的好奇心

追答

我在哪?问这个干什么。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-22
对!!!!!!!!!!!
首先理解线程 线程就是你发送的所有指令,同步,就是系统有一个时钟,计算你的发送时间,接收时间, 线程同步,就是说你所发送的所有指令,都是按照时钟统一标记和发送的

线程同步又分 多线程同步 和 单线程同步

而异步 是指饼没有时钟的计算,也就是说,不知道对方什么时候发送的数据,也不知道什么时候接收的数据。追问

抄的,鉴定完毕

追答

你把我的话复制到百度上去搜索下,你看看能不能搜索到一摸一样的话

抄的? 好心来回答你的问题 结果来句 抄的 鉴定完毕
有你这么脑残的人嘛。。

追问

没有,鉴定错误,sorry,真搞不懂你在说什么。

相似回答