什么是进程同步?
python中当多个线程都需要修改全局变量时或者说多个线程都需要使用某个资源时会面临资源竞争的问题,如何解决资源竞争问题则需要引入进程同步的概念。所谓的进程同步就是保证多个线程安全访问同一资源。
互斥锁是什么?
达到进程同步的一种办法就是引入互斥锁,就是在某线程使用全局资源时将该资源锁定,其他线程不能更改。直到该线程使用完成后,将该资源释放,其他线程才能继续更改该资源。互斥锁保证同一时间只有一个线程使用该资源,这就保证了多线程可以安全访问统一资源。
死锁是什么?
现有资源A 资源B 和线程C 以及线程D 线程C在使用资源A时将A锁住,同时他需要使用资源B 线程D在使用资源B时将资源B锁住,同时他需要使用资源A,那么此时两个线程都在等着对方释放资源,此时这两个线程就都卡住了,这就被称为死锁。
解决死锁的办法是什么?
可以通过添加超时时间的方法来避免死锁。