线程和进程的区别?
并行和并发有什么区别?
- 并发(concurrent)是同一时间应对(dealing with)多件事情的能力
- 并行(parallel)是同一时间动手做(doing)多件事情的能力
互斥和同步的区别
- 互斥是指在同一时间只允许一个线程访问共享资源。当一个线程正在使用共享资源时,其他线程需要等待,直到该线程释放资源。这样可以避免多个线程同时修改共享资源导致的数据不一致性问题。互斥通常通过使用锁(如互斥锁、信号量等)来实现。保证共享变量的访问原子性
- 同步是指多个线程之间按照一定的顺序协调执行,以确保共享资源的正确访问。通过同步,线程可以相互通信和协调,以便按照预期的顺序执行任务。同步通常使用信号量、条件变量或者其他线程间通信机制来实现。保证了共享变量在多线程下的正确顺序访问
可以说,互斥是同步的一种实现方式。互斥机制可以用来实现同步,通过互斥锁来保证共享资源的正确
访问顺序,从而实现线程间的同步。