Pthreads (POSIX Threads) is a standardised C-based API for creating and manipulating threads on a POSIX-compliant system. It is defined by the standard "POSIX.1c, Threads extensions (IEEE Std 1003.1c-1995)", and subsequently by the Single Unix Specification.
10
votes
1answer
113 views
Lightweight asynchronous event library in C - Threadpool module
I have finished writing a C library whose purpose is to provide a simple API for asynchronously executing functions, waiting for events on file descriptors and waiting for timeouts. The whole library ...
5
votes
1answer
57 views
Concurrent stack in C - follow-up
This is a follow-up question to Concurrent stack in C
The pop function not just removes the top element from the stack, but also returns it.
If a pthreads call ...
6
votes
2answers
107 views
Concurrent stack in C
(See also the follow-up question.)
I was in the mood for pthread.h and decided to write a concurrent stack data structure. My requirements:
the stack has maximum ...
1
vote
4answers
174 views
Socket client in C using threads
I'm working on socket programming in C. I have no problem with usage the threads. This all works fine but I'm new in this area. I wrote this code in client.c but is there any misused code or something ...
3
votes
2answers
67 views
Simple mutex and conditional variable signal in C
I'm new to multithreading in C so I made a toy program that uses a mutex and a conditional variable to communicate between two threads. do_work performs a task ...
5
votes
2answers
102 views
Dining Philosophers variation in C
This is a variation of the Dining Philosophers Problem. The task is to coordinate several students inside a gym. All students try to obtain their desired training weights from a shared weight rack. ...
1
vote
1answer
38 views
Reading socket stream to parse XML, queue messages, run system cmd in thread
I've had great experience in the past getting feedback from uDev and python, but I'm dreading this attempt at C++. I have a little background in C - but absolutely none in C++ - so this code is ...
4
votes
1answer
54 views
Simple file server for GET requests
I recently made this simple server in C for Linux systems and was wanting to get another set of eyes on it for a review of the design. I am new to socket programming and used a textbook from school to ...
3
votes
3answers
465 views
Multithreaded Client/ Server communication
This is my first network programming codes writing for a client who has the following requirement:
My Server has to run 24*7*365 for multiple clients at the same time (concurrency).
Their Client (...
-2
votes
1answer
115 views
Printing infinite loop using pthread [closed]
I'm trying to implement a c program using pthreads which prints "1 2 3 4 5" in an infinite loop. I have used conditional variables and mutex to synchronize the pthreads. I'm able to print "1 2 3 4 5" ...
1
vote
2answers
43 views
Pascal's triangle with libgmp and pthread in C
I have written a program to generate a pascal triangle of predefined size.
Code
...
8
votes
1answer
50 views
Automated Safety System Daemon in C89
Explanation
This software is currently designed to:
Spawn a daemon which controls and monitors multiple threads
Create threads based on a 'list' of functions
Monitor threads for operation
Restart ...
8
votes
2answers
279 views
Thread to send heartbeat UDP packets
This C code will run on an embedded machine with a Linux OS. It should create data packets (ASCII) to repeatedly be sent to a UDP server.
Just to give an overview about what functions should do:
<...
5
votes
2answers
109 views
Thread synchronization with mutex
This program prints odd numbers by thread1 and even numbers by thread2 sequentially. Can this code be optimized or made more ...
3
votes
1answer
50 views
Simple pool of threads which calculate the sum of a given number from the main process
I have to make a program which creates a number of threads that are waiting at the beginning, then the main process creates a doubly linked list where random numbers are put and then a signal tells ...
1
vote
1answer
346 views
Multithreaded MJPG network stream server
I'm a bit of a neophyte when it comes to C++, and so I'd like some feedback regarding a recent project.
The code sits on a Raspberry Pi and streams camera data over TCP on a specified port.
The ...
1
vote
1answer
47 views
Using semaphore in C
This is my first time using semaphores and I was wondering if I implemented them to the best of their abilities in my code....
...
0
votes
1answer
36 views
Loading message with Pthreads
I want to print a nice loading message with these three fading dots, while the main thread does some heavy IO stuff. This is why I implemented this:
...
4
votes
1answer
151 views
Multiplying square matrix with C pthreads (POSIX threads)
I'm a student, and I'm trying to make the product of two square matrix with some threads in the soup. I've already worked on some fast single-threaded product (with some cache-friendly tricks), and I'...
3
votes
1answer
52 views
3
votes
1answer
80 views
Async safe threadpool
I'm trying the write a threadpool that can safely be added inside a signal handler or in code forked by multithreaded code. Are there any corner cases that would cause this code to fail? What could be ...
0
votes
1answer
124 views
Multiple producers accessing multiple shared queues by checking for space two times
I request a review on the way multiple producers and consumers access multiple shared queues.
What I have done here requires the threads to check for the space in queues minimum two times. Can it be ...
2
votes
0answers
57 views
N Processing connect to a single process: Socket Programming
The idea of my program is to use pthreads, semaphores, posix shared
memory, and sockets to create an environment where N processes
(that we will refer to as the children) can connect to a single
...
4
votes
2answers
296 views
pthread_cond_wait() based multithreaded Linux daemon skeleton
I'm trying to design a multithreaded daemon for an industrial automation related project.
The daemon will be using a number of 3rd party libs like MQTT, mysql, etc..
My idea is to have worker threads ...
5
votes
1answer
416 views
Using a mutex to read from a file [closed]
I am new to C and I am trying to implement a mutex.
The idea of the program is:
main() will create three threads.
Each thread will read one character each from ...
5
votes
1answer
663 views
Porting Java's synchronized() block to C++
I tried to create a class for porting Java's synchronized keyword to C++ using below code using *nix pthread's library.
In general my test cases seem to work, but since this is a very critical topic ...
4
votes
1answer
817 views
Implementing pthread barrier for Mac OS/X
I have written this little thingie to fix a problem of missing pthread_barrier_t in Mac OS/X pthreads. Are there any issues with this code?
The header:
...
2
votes
1answer
2k views
Readers-Writers problem in C
I would love some suggestions on this code of mine, pointers on overall design, code quality, optimization in terms of memory and speed.
...
6
votes
2answers
486 views
Harmonic partial sum calculator with multithreading
I wrote a program which computes the harmonic partial sum to N terms with multithreading capability. I've been working on this to sharpen my C++ skills for the upcoming semester. Just wondering if ...
5
votes
3answers
131 views
Counting letters as quickly as possible
I received a task, of taking a known text file (Linux dictionary), use threads to count the different letters in it, and present the results in an array.
The code doesn't have to be pretty, elegant, ...
4
votes
1answer
430 views
Vehicle-crossing simulation
It seems like this code should be shorter, but with all the error checking it is long and hard to follow. This is for a simulation of vehicles crossing a bridge, and this part is dealing with mutexes. ...
4
votes
2answers
855 views
Example of a Multithreaded C program
In answering password cracker in c with multithreading, I ended up writing a sample in C, which is not my forte.
Is there anything that I missed which should have been included in a responsible ...
4
votes
1answer
115 views
Synchronous events library
I have implemented a small library that handles synchronous events with POSIX compliant threads. I oriented me on the already existing POSIX thread API. Here are the files I created:
...
3
votes
1answer
430 views
Consumer producer implementation involving POSIX, semaphores, and locks
I am trying to get over my fear of multithreading programming and teaching myself to code using POSIX. I wrote a small version of the consumer producer problem. I am hoping I can get some feedback if ...
5
votes
1answer
6k views
Consumer-Producer Problem: POSIX Thread
I have implemented a producer consumer problem,
following the resources below:
Oracle doc
CSEE
I have used mutex_t and sem_t. ...
5
votes
1answer
3k views
Scalability of C server implementation based on pthreads
I am wondering about the feasibility of the following basic implementation of a server and how well it would scale. I know that large-scale, distributed servers should probably be written in a ...
15
votes
1answer
17k views
Thread-safe concurrent FIFO queue in C++
Is this the correct way to implement a thread-safe concurrent FIFO queue in C++? It requires passing unsigned char* arrays of binary data.
Thread Safe Concurrent ...
2
votes
1answer
206 views
1 Producer, N Consumers working in parallel, each doing ~1/nth of a task
I am not wondering about error checking (I will add that soon). I would instead like to know about correctness, efficiency and simplicity.
...
7
votes
3answers
19k views
Dining philosophers problem with mutexes
I know this dining philosophers problem has been researched a lot and there are resources everywhere. But I wrote simple code to solve this problem with C and then turned to the Internet to see if it'...
4
votes
1answer
141 views
Uses of barriers for one main thread controlling n threads
Referring to this post, my problem (summarized):
One main thread waits for connections, on accept() spawns a new thread for each connection. After we received <...
1
vote
4answers
4k views
Concurrent queue with pthread implementation
I'm writing a multi-threaded queue implemented with pthreads. Since I came up with the code based on several tutorials from Internet, I would like to make sure there are no logic errors in my code:
<...
2
votes
1answer
379 views
Multithreaded GPS system
I am trying to reduce the total execution time of my code.
I have a GPS system which calculates routes between two points, and returns all points in between them.
I did a simple profile and the ...
10
votes
1answer
3k views
Threading lambda functions
I've created this very small header that allows direct creation of threads from lambdas.
I can't find anything else similar on the net so I want to know whether there are any problems with this that I ...
4
votes
1answer
128 views
Demonstration of pthread calls
Please review for any unnecessary casting, memory leaks, wrong use of pthread call, or validation problems in the given code.
...
0
votes
2answers
2k views
2
votes
2answers
7k views
Producer-consumer in C using pthread_barrier
We're preparing for an exam at the moment, and our lecturer has given us a sample problem to work on. I have it completed, but would like to know a) If it is actually doing what it's supposed to, and ...
4
votes
2answers
528 views
Maintaining a count with two threads using conditional variables
This is just a program to show the use of conditional variables when two threads are involved. One thread wants a non-zero value of count, and other thread is ...
1
vote
1answer
466 views
std::lock implementation in C with pthreads
I messed a little bit with pthreads and needed an alternative to the C++11 function std::lock (2 args are enough), and this is what I came up with:
...
10
votes
2answers
276 views
Is there a better way to thread this class function?
I have a class bar that keeps track of N instances of class foo in a ...
2
votes
2answers
866 views
Thread design for sending data to multiple servers
In the following code, checkServerExists function checks if the server exists in the vector.
If it does, then the new message is directly pushed in the vector, ...