transmittable-thread-local - :octocat: A simple 0-dependency java lib for transmitting ThreadLocal value between threads even using thread pool

  •        58

a simple lib for transmitting ThreadLocal value between thread even using thread pool.





Related Projects

Smart Thread Pool

  •    DotNet

Smart Thread Pool is a thread pool written in C#. It is far more advanced than the .NET built-in thread pool. Here is a list of the thread pool features: * The number of threads dynamically changes according to the workload on the threads in the pool. * Work items can...

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

aiofiles - File support for asyncio

  •    Python

aiofiles is an Apache2 licensed library, written in Python, for handling local disk files in asyncio applications. Ordinary local file IO is blocking, and cannot easily and portably made asynchronous. This means doing file IO may interfere with asyncio applications, which shouldn't block the executing thread. aiofiles helps with this by introducing asynchronous versions of files that support delegating operations to a separate thread pool.

thread-pool-cpp - High performance C++11 thread pool

  •    C++

Example run: Post job to thread pool is much faster than for boost::asio based thread pool. See benchmark/benchmark.cpp for benchmark code.

Volley-demo - An demonstration of Volley - HTTP library announced by google in I/O 2013

  •    Java

An demonstration of Volley - HTTP library announced by google in I/O 2013. Android has provided two HTTP Clients AndroidHttpClient (Extended from apache HTTPClient) and HttpUrlConnection to make a HTTP Request. Both has its own pros and cons. When an application is developed, we write HTTP connection classes which handles all the HTTP requests, creating THREADS to run in background, managing THREAD pool, response parsing, response caching, handling error codes, SSL connections, running requests in parallel and others stuffs around that. Every developer has his own way of implementing these functionalities.Some might use AsycnTask for running network operations in background, or some might use passing handlers created from UI thread to HTTP connection classes which then executes network operation in worker thread and uses the handler to pass back the parsed HTTP response back to the main thread.

pthreads - Threading for PHP

  •    PHP

This project provides multi-threading that is compatible with PHP based on Posix Threads. It can execute any and all predefined and user declared methods and functions asynchronously. It has built-in support of Synchronization, Synchronized Methods.

threads.js - Easy to use, yet powerful multi-threading library for node.js and the browser.

  •    Javascript

Javascript thread library. Uses web workers when run in browsers and child processes when run by node.js. Also supports browsers which do not support web workers.You don't have to write the thread's code inline. The file is expected to be a commonjs module (so something that uses module.exports = ...), for node and browser.

node-continuation-local-storage - implementation of

  •    Javascript

Continuation-local storage works like thread-local storage in threaded programming, but is based on chains of Node-style callbacks instead of threads. The standard Node convention of functions calling functions is very similar to something called "continuation-passing style" in functional programming, and the name comes from the way this module allows you to set and get values that are scoped to the lifetime of these chains of function calls. When you set values in continuation-local storage, those values are accessible until all functions called from the original function – synchronously or asynchronously – have finished executing. This includes callbacks passed to process.nextTick and the timer functions (setImmediate, setTimeout, and setInterval), as well as callbacks passed to asynchronous functions that call native functions (such as those exported from the fs, dns, zlib and crypto modules).

wrmhl - ⚡️ Super fast communication beetwen Unity3D and Arduino

  •    CSharp

If you have ever wanted to transmit data from Arduino to Unity3D the main issue is INSANE LATENCY. We didn’t find any free, optimized, and customizable solutions to tackle this problem. So I built wrmhl. You can now connect any Arduino interface to Unity3D. You can use the default protocol, or implement your own without having to deal with thread just by changing wrmhl/Assets/WRMHL/Scripts/Thread/wrmhlThread_Lines.cs.

Threading.Net : Multi threads, threadpool, backgroundworker windows form sample


Threading.Net, is a small windows form application that highlights the benefits of multithreaded programming by comparing in parallel, using progessbars, the same process running in single thread and in multi thread mode.

cprops - c prototyping tools

  •    C

the c prototyping tools library provides thread-safe linked list, priority queue, hash table, hash list, AVL tree and trie implementations, as well as a thread pool and thread management framework, a tcp and http socket api, and a dbms abstraction layer.

threadpool - A simple C Thread pool implementation

  •    C

A simple C Thread pool implementation

FiberTaskingLib - A library for enabling task-based multi-threading

  •    C++

This is a library for enabling task-based multi-threading. It allows execution of task graphs with arbitrary dependencies. Dependencies are represented as atomic counters. Under the covers, the task graph is executed using fibers, which in turn, are run on a pool of worker threads (one thread per CPU core). This allows the scheduler to wait on dependencies without task chaining or context switches.

Watchdog - Class for logging excessive blocking on the main thread

  •    Swift

Class for logging excessive blocking on the main thread. It watches the main thread and checks if it doesn’t get blocked for more than defined threshold. You can also inspect which part of your code is blocking the main thread. Simply, just instantiate Watchdog with number of seconds that must pass to consider the main thread blocked. Additionally you can enable strictMode that stops the execution whenever the threshold is reached. This way, you can inspect which part of your code is blocking the main thread.

set - Set data structure for Go

  •    Go

Set is a basic and simple, hash-based, Set data structure implementation in Go (Golang).Set provides both threadsafe and non-threadsafe implementations of a generic set data structure. The thread safety encompasses all operations on one set. Operations on multiple sets are consistent in that the elements of each set used was valid at exactly one point in time between the start and the end of the operation. Because it's thread safe, you can use it concurrently with your goroutines.

Do Work in Background Thread to Keep GUI Responsive

  •    DotNet

Demonstrate simple example of using BackgroundWorker class to do work on a background thread and then update the GUI in a thread-safe manner.

puma - A Ruby/Rack web server built for concurrency

  •    Ruby

Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications in development and production. Under the hood, Puma processes requests using a C-optimized Ragel extension (inherited from Mongrel) that provides fast, accurate HTTP 1.1 protocol parsing in a portable way. Puma then serves the request in a thread from an internal thread pool. Since each request is served in a separate thread, truly concurrent Ruby implementations (JRuby, Rubinius) will use all available CPU cores.

learnrxjava - A set of exercises to designed to teach developers Rx (Reactive Streams)

  •    Java

A sequential program runs on a flat timeline. Each task is only started after the previous one completes. In concurrent programs, multiple tasks may be running during the same time period and a new task may begin at any time. In threaded programs, introducing concurrency trades space for time. Allocating memory for more threads allows application servers to make network requests concurrently instead of sequentially. Threaded network requests can dramatically reduce server response times, but like all trade-offs this approach has its limits. Unchecked thread creation can cause a server to run out of memory or to spend too much time to context switching. Thread pools can help manage these problems, but under heavy load the number of threads in an application server’s pool will eventually be exhausted. When this happens network requests will be serialized, causing response times to rise. At this point the only way to bring down response times again is to scale up more servers, which increases costs.