本地queue
2017-04-06 13:46:35 0 举报
登录查看完整内容
本地队列(Local Queue)是一种用于存储和管理任务的数据结构,通常用于多线程编程和并发处理。它允许多个线程同时访问和操作队列中的任务,而不会出现数据竞争或死锁的问题。本地队列可以是阻塞的或非阻塞的,这意味着在尝试添加或删除元素时,线程可能会被阻塞,直到队列中有可用的空间或元素。此外,本地队列还可以实现优先级排序,使得高优先级的任务可以优先得到处理。总之,本地队列是一种灵活且高效的工具,可以帮助程序员更好地管理和协调多线程程序中的资源和任务。
作者其他创作
大纲/内容
data1
长度
read position
block num
data2
writeIndex
对象数据
block1
index1
...
在这里你应该会发现两个问题。第一个问题:既然是queue,那么如何知道读写到了哪里,解决办法很简单我再加一个文件记录读写记录文件
postion
到这里你应该了解如何实现一个简单的本地queue了,如果你有高并发的需求,那么加锁是必不可少的,至于具体如何去写每个人有自己不同的方式。
write position
第三个问题:大小queue的大小从何而知。你只需要再index结构体中加入一个已写数和已读数即可实现。
readIndex
这个跟内存queue很相似。细心而又聪明的你会发现,index和data是一对一的关系,那么应该能合并起来
index2
block2
0 条评论
回复 删除
下一页