Слияние кода завершено, страница обновится автоматически
#pragma once
#include <mutex>
#define RETRY_IMEDIATELY_TIMES 30
class RateLimiter {
public:
RateLimiter(int qps);
void pass();
private:
//互斥锁
std::mutex mtx;
//获得当前时间, 单位ns
long now();
//更新令牌桶中的令牌
void supplyTokens();
//尝试获得令牌
bool tryGetToken();
//必定成功获得令牌
void mustGetToken();
//令牌桶大小
int bucketSize;
//剩下的令牌数
int tokenLeft;
//补充令牌的单位时间
long supplyUnitTime;
//上次补充令牌的时间
long lastAddTokenTime;
};
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )