摘要:
在知乎上看到一个问题,说自己的函数分明是对的,输入少量数据验证表明也是对的,可是当数据量达到一定规模的时候,程序会变得特别特别的慢,不知为什么。后来发现是因为他把函数声明和数组声明都写在 main 函数里了,声明在 main 函数中的变量都是分配在栈上的,因此当数据过多的时候,就会出现栈溢出的情况。... 阅读全文
摘要:
templatestruct Sorter{ struct ChunkToSort { std::list data; std::promise> promise; }; ThreadSafeStack chun... 阅读全文
摘要:
templateclass ThreadSafeStack{private: std::stack data; mutable std::mutex m;public: ThreadSafeStack() = default; ThreadSafeStack(con... 阅读全文
摘要:
templateclass LockFreeStack{private: struct Node; struct CountedNode { int externalCount = 0; Node* ptr = nullp... 阅读全文
摘要:
constexpr size_t maxHazardPointers = 100;struct HazardPointer{ std::atomic id; std::atomic pointer;};array hazardPointers;class Hazard... 阅读全文
摘要:
templateclass LockFreeStack{private: struct Node { std::shared_ptr data; Node* next; Node(T const& value): ... 阅读全文
摘要:
templateclass ThreadsafeList{ struct Node { std::mutex m; std::shared_ptr data; std::unique_ptr next; Node(): ... 阅读全文
摘要:
template>class ThreadsafeLookupTable{private: class BucketType { private: typedef std::pair bucketValue; typedef std::list buck... 阅读全文