https://github.com/objectionary/eo-threads
EO Objects for Managing Execution Threads
https://github.com/objectionary/eo-threads
eolang oop threads
Last synced: 4 months ago
JSON representation
EO Objects for Managing Execution Threads
- Host: GitHub
- URL: https://github.com/objectionary/eo-threads
- Owner: objectionary
- License: mit
- Created: 2022-07-03T18:17:50.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-07-13T17:47:31.000Z (4 months ago)
- Last Synced: 2025-07-13T19:34:50.435Z (4 months ago)
- Topics: eolang, oop, threads
- Language: Java
- Homepage:
- Size: 174 KB
- Stars: 14
- Watchers: 3
- Forks: 5
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README

[](https://www.elegantobjects.org)
[](http://www.rultor.com/p/objectionary/eo-threads)
[](https://www.jetbrains.com/idea/)
[](https://github.com/objectionary/eo-threads/actions/workflows/mvn.yml)
[](http://www.0pdd.com/p?name=objectionary/eo-threads)
[](https://codecov.io/gh/objectionary/eo-threads)
[](https://maven-badges.herokuapp.com/maven-central/org.eolang/eo-threads)
[](https://hitsofcode.com/view/github/objectionary/eo-threads)

[](https://github.com/objectionary/eo-threads/blob/master/LICENSE.txt)
[EO](https://www.eolang.org) objects for managing execution threads.
To run slow code in a new thread and wait for its finish in a loop:
```
while.
is-running.
start.
QQ.threads.thread > t
very-slow-object
[i]
seq > @
QQ.io.stdout
"still waiting..."
QQ.threads.sleep
100
if.
i.gt 10
t.stop
TRUE
```
The object `thread` has attributes:
* free attribute `slow` to set a task to the thread.
* `started` starts the thread or does nothing if it's already running, returns the `thread`
* `is-running` is TRUE if it is still working
* `stop` informs the `thread` it must be terminated.
* `join` returns the result of dataization `slow`.
Dataization of the `thread.join` object means dataized `slow`.
If the thread is terminated, dataization returns `error`.
## How to Contribute
Fork repository, make changes, send us a pull request.
We will review your changes and apply them to the `master` branch shortly,
provided they don't violate our quality standards. To avoid frustration,
before sending us your pull request please run full Maven build:
```bash
$ mvn clean install -Pqulice
```
You will need Maven 3.3+ and Java 8+.