一次只能干一件事,挨个按顺序执行(串行):
一会儿吃口馒头,一会儿吃口菜(并发):
多条流水线同时工作(并行):
竞争问题:
A和B线程都对同一个内存位置进行读写,就会容易出现竞争问题。
Thread1先读取42,Thread2也读取42。Thread1写入变成43,Thread2也写入变成43. 期望结果应该是44(42 +1 + 1).
通过互斥锁达到数据同步读写的问题,但也会带来死锁问题:
两个线程都在等待对方释放资源。
一次只能干一件事,挨个按顺序执行(串行):
一会儿吃口馒头,一会儿吃口菜(并发):
多条流水线同时工作(并行):
竞争问题:
A和B线程都对同一个内存位置进行读写,就会容易出现竞争问题。
Thread1先读取42,Thread2也读取42。Thread1写入变成43,Thread2也写入变成43. 期望结果应该是44(42 +1 + 1).
通过互斥锁达到数据同步读写的问题,但也会带来死锁问题:
两个线程都在等待对方释放资源。