https://github.com/objectionary/eo-threads
EO Objects for Managing Execution Threads
https://github.com/objectionary/eo-threads
eolang oop threads
Last synced: about 2 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 (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-11-05T22:15:24.000Z (8 months ago)
- Last Synced: 2024-11-05T23:22:02.260Z (8 months ago)
- Topics: eolang, oop, threads
- Language: Java
- Homepage:
- Size: 172 KB
- Stars: 13
- Watchers: 2
- Forks: 4
- Open Issues: 9
-
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+.