Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C#: need a blocking FIFO queue similar to Java's LinkedBlockingQueue

need something similiar with java's LinkedBlockingQueue.

method of interest: messageQueue.poll(120000, TimeUnit.MILLISECONDS); meaning ..try to get item..and if in X unit of time you still have no item..return null

that + i must be FIFO

after some googling (but havent yet tested): i found ConcurrentQueue (has FIFO behaviour), BlockingCollection (FiFO OR no FIFO??)

like image 241
pulancheck1988 Avatar asked Apr 18 '12 16:04

pulancheck1988


People also ask

What C is used for?

C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...

Is C language easy?

C is a general-purpose language that most programmers learn before moving on to more complex languages. From Unix and Windows to Tic Tac Toe and Photoshop, several of the most commonly used applications today have been built on C. It is easy to learn because: A simple syntax with only 32 keywords.

What is the full name of C?

In the real sense it has no meaning or full form. It was developed by Dennis Ritchie and Ken Thompson at AT&T bell Lab. First, they used to call it as B language then later they made some improvement into it and renamed it as C and its superscript as C++ which was invented by Dr.

Is C programming hard?

C is more difficult to learn than JavaScript, but it's a valuable skill to have because most programming languages are actually implemented in C. This is because C is a “machine-level” language. So learning it will teach you how a computer works and will actually make learning new languages in the future easier.


1 Answers

BlockingCollection can be used with any number of different types of collections. If you don't manually pass in a specific type of concurrent collection it will uses a ConcurrentQueue, meaning it will do exactly what you want. You can uses a concurrent stack type, or a concurrent priority queue if you want, which is why it uses a general name such as Blocking Collection, and not BlockingConcurrentQueue.

All of this is listed on the MSDN page for BlockingCollection if you don't want to take my word for it.

like image 93
Servy Avatar answered Sep 25 '22 01:09

Servy