Linux线程同步与互斥的区别

有相交过程的两种主要关系,同步与互斥,互斥,是指在不同的进程之间的几个片段一走,一个进程运行时,一个程序片段,没有其他的方法可以在任何程序段运行它们,只能等到程序运行此程序片段可以运行。所谓同步是指走不同的过程。它们必须严格按照规定的顺序运行。顺序取决于要完成的特定任务。



显然,同步是一种更复杂的互斥,互斥是一种特殊的同步。



即互斥是两个线程不能同时运行的,它们必须等待互斥完成,一个线程要运行,另一个运行,而同步不是在同时运行,但他必须按照一定的顺序运行相应的线程(也是一个互斥体)!



摘要:互斥意味着资源只能允许一个访问者同时访问,具有唯一性和排他性,但是互斥不能限制访问者对资源的访问,也就是说,访问是无序的。



同步:指的是有序的访问的游客资源由其他机制在相互排斥的基础上(大多数情况下)。在大多数情况下,同步实现了相互排斥的,特别是,所有的写作资源必须是相互排斥的。在某些情况下,多个游客可以被允许在同一时间访问资源