同步和异步区别
2017-06-17 10:28
357 查看
首先举个生活中的例子加深印象:
同步:你喊我吃饭,如果我听到了,我就和你去吃饭;如果我没有听到,你就不停的喊,直到我告诉你我听到了,我们才一起去吃饭
异步:你喊我吃饭,然后自己去吃饭,我得到消息后可能立即去吃饭,也可能等到下班后去吃饭
同步:多个线程访问同一个资源时,它们需要以某种顺序来确保资源在某一时刻只能被一个线程使用,同步能保证资源的安全,比如火车站卖票
实现同步的方式:1、同步代码块 2、同步方法
异步:每个线程都包含了运行时自身所需要的数据或方法,在进行输入输出处理时,不必关心其他线程的状态或行为
同步:你喊我吃饭,如果我听到了,我就和你去吃饭;如果我没有听到,你就不停的喊,直到我告诉你我听到了,我们才一起去吃饭
异步:你喊我吃饭,然后自己去吃饭,我得到消息后可能立即去吃饭,也可能等到下班后去吃饭
同步:多个线程访问同一个资源时,它们需要以某种顺序来确保资源在某一时刻只能被一个线程使用,同步能保证资源的安全,比如火车站卖票
实现同步的方式:1、同步代码块 2、同步方法
异步:每个线程都包含了运行时自身所需要的数据或方法,在进行输入输出处理时,不必关心其他线程的状态或行为