文件名称:男女皆宜的pthreads:使用pthreads,互斥锁和条件变量解决了中性浴室问题。 用C写
文件大小:3KB
文件格式:ZIP
更新时间:2024-03-06 15:16:18
C
中性浴室同步问题 使用pthreads,互斥锁和条件变量解决了中性浴室问题。 用C写 同步:互斥锁 我的代码中使用了互斥锁,以防止不同的线程同时访问代码的关键部分。 它们在代码中的目的是避免互斥问题,因为该程序是同时发生的多线程。 因此,互斥锁很重要,因此只有一个线程可以对共享值(例如当前在浴室中的男女值)执行修改。 声明了两个互斥锁,每个性别一个。 这是因为来自每个性别的每个线程都可以从性别中获得当前在浴室中的人数或线程的值。 在man_wants_to_enter()和woman_wants_to_enter()函数中,存在锁,以便每个线程都可以单独访问浴室。 这意味着每个线程将能够递增bathroom变量,而该变量不会被另一个线程同时访问。 在关键代码中,还必须满足一些约束,因此线程必须等待,这将在下一节中讨论。 类似地,在功能man_leaves()和woman_leaves(
【文件预览】:
unisex-pthreads-master
----README.md(3KB)
----demo.c(4KB)