https://github.com/corporatepiyush/jhighfun
https://github.com/corporatepiyush/jhighfun
concurrency concurrency-patterns functional-programming java streams-api
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/corporatepiyush/jhighfun
- Owner: corporatepiyush
- License: other
- Created: 2017-06-23T12:28:59.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-06-23T12:49:11.000Z (over 8 years ago)
- Last Synced: 2025-01-23T19:16:44.266Z (10 months ago)
- Topics: concurrency, concurrency-patterns, functional-programming, java, streams-api
- Language: Java
- Size: 9.52 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
jHighFun
========
***Multithreaded Higher Order Function Library for Java***
## Overview
This library is implememted to make concurrent programming as easy as possible by following best practices exists
and abstracting out the finer interfaces to hide lots of boiler plate code needed in general.
The aim of this library is to help design any kind of business logic which is scalable on multiple CPU's.
jHighFun => (Higher order functions, function chaining) + (concurrency patterns)
***Higher order functions***
* map
* filter
* foldLeft
* foldRight
* reduce
* sort
* sortWith
* sortBy
* any
* every
* each
* eachWithIndex
* split
* curry
* chain
* memoize
***Concurrency patterns***
* forkAndJoin
* divideAndConquer
* executeAsync
* executeLater
* executeWithGlobalLock
* executeWithLock
* executeWithPool
Just do static import for FunctionUtil.* into your java file start using them, be careful while using the overloaded methods which accepts "noOfThreads" as last argument and tries to execute function concurrently.
OR
If you are interested in chaining the functions use "chain" function.
Gradle
=====
```
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.corporatepiyush:jhighfun:1.4'
}
```