发布网友 发布时间:2022-04-22 09:51
共2个回答
热心网友 时间:2023-10-31 02:28
同步(synchronous)就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。
“同”字从字面上容易理解为一起动作,其实不然,“同”字应是指协同、协助、互相配合。能表示前者意义的是“并发”。
那么异步就与同步相反,就像两个人走路,每个人按照自己的节奏走,步伐不一定要一致。
同步/异步这对概念其实在不同的领域有不同的含义。
在多线程的领域,其实只有同步的概念,当两个或两个以上的线程共享某些资源或需要相互配合来完成某些工作时,就必须通过线程同步来协调各个线程运行的次序。
比如在线程A和B配合工作时,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。或者当线程A和B共享一个资源时,如果同一时间读写这个资源,就会发生资源竞争的问题,这时就只能允许某个时间点只有一个线程占有资源,另外一个线程等待,这也是线程同步。
而在过程调用以及访问服务器的领域,这里的异步是指在调用一个过程或请求服务器的服务时,调用/请求方的调用/请求可以在调用操作完成或服务器响应之前返回,做一些其他的工作,当调用完成或服务器响应时再继续与被调方/服务器的协同工作。而同步则是在调用操作完成或服务器响应之前不返回,持续地等待,以确保调用方/客户端与被调方/服务器协同一致。
另外在通信领域也有同步/异步的概念,异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,结束时有停止位。而同步就是接收端要按照发送端所发送的每个码元的起止时刻和重复频率来接收数据,两者时间上必须取得一致。
热心网友 时间:2023-10-31 02:28
对!!!!!!!!!!!
首先理解线程 线程就是你发送的所有指令,同步,就是系统有一个时钟,计算你的发送时间,接收时间, 线程同步,就是说你所发送的所有指令,都是按照时钟统一标记和发送的
线程同步又分 多线程同步 和 单线程同步
而异步 是指饼没有时钟的计算,也就是说,不知道对方什么时候发送的数据,也不知道什么时候接收的数据。