本帖最后由 jzxyhjl 于 2014-7-10 11:10 编辑
说说我自己的理解:
首先多线程线不是只有2个,而是有很多就像 车站买票有很多窗口,也有很多旅客 一样。
其次线程同步并不是单存的按顺序执行,拿售票做例子,不能旅客还没说买去哪的票时,售票员就已经把票给你了,而是旅客先要买票并提供信息,然后售票员才能有卖票的动作。
再有使用线程同步在一个共有资源操作时,避免重复操作,再看售票的例子:现在还剩一张沈阳-北京的车票了,但是同时有3个人在3个不同售票点都想买,这时候这张票就不能同时被3人购买,通过同步就会把票给先确认购买的人,而另外2人就买不到票了。如果这里不是同同步,就会出现3个人都买到了同一张票。。。那么上车的时候就非打起来不可
最后再引用一下百度的内容:
线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回,同时其它线程也不能调用这个方法。在多线程编程里面,一些敏感数据不允许被多个线程同时访问,此时就使用同步访问技术,保证数据在任何时刻,最多有一个线程访问,以保证数据的完整性。
|