💻 算法实现

经典408算法C语言实现,共8个算法。

CLOCK 时钟替换算法
算法C语言clock

C++ 代码

#include <vector>
#include <cstdio>

class ClockReplacer {
public: …
LRU 算法
算法C语言lru

C++ 代码实现

#include <vector>
#include <cstdio>
#include <unordered_map>

struct …
TAS 实现自旋锁
算法C语言spinlock

通过 TAS 实现自旋锁的 C 代码

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h> …
读者写着问题
算法C语言reader_writer

C 代码实现

#include <pthread.h>
#include <semaphore.h>
#include <unistd.h>
#include …
管程实现生产者消费者
算法C语言monitor

考虑一个经典的并发问题:生产者 - 消费者问题。你有一个共享缓冲区和两组线程,生产者在缓冲区中放入数据,而消费者从缓冲区中取出数据。

生产者消费者问题
算法C语言producer_consumer

C 代码实现

#include <pthread.h>
#include <semaphore.h>
#include <unistd.h>
#include …
银行家算法
算法C语言banker

C 代码

#include <stdio.h>

#define MAX_PROCESSES 5
#define MAX_RESOURCES 3

int total[ …
哲学家就餐问题
算法C语言philosopher

C 代码实现

#include <stdio.h>
#include <pthread.h>
#include <semaphore.h>
#include …