Skip to content

Commit b672a53

Browse files
authored
Merge pull request #3 from reugn/develop
v0.3.1
2 parents 86d3c5b + 9bde828 commit b672a53

File tree

5 files changed

+14
-7
lines changed

5 files changed

+14
-7
lines changed

README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
1-
<p align="center"><img src="./images/async.png" /></p>
2-
<p align="center">Alternative sync library for Go.</p>
3-
<p align="center">
1+
<div align="center" style="margin:0 !important;"><img src="./docs/images/async.png" /></div>
2+
<div align="center">
43
<a href="https://github.com/reugn/async/actions/workflows/build.yml"><img src="https://github.com/reugn/async/actions/workflows/build.yml/badge.svg"></a>
54
<a href="https://pkg.go.dev/github.com/reugn/async"><img src="https://pkg.go.dev/badge/github.com/reugn/async"></a>
65
<a href="https://goreportcard.com/report/github.com/reugn/async"><img src="https://goreportcard.com/badge/github.com/reugn/async"></a>
76
<a href="https://codecov.io/gh/reugn/async"><img src="https://codecov.io/gh/reugn/async/branch/master/graph/badge.svg"></a>
8-
</p>
7+
</div>
8+
<br/>
9+
Async provides synchronization and asynchronous computation utilities for Go.
10+
11+
The implemented patterns were taken from Scala and Java.
912

1013
## Overview
1114
* **Future** - A placeholder object for a value that may not yet exist.
1215
* **Promise** - While futures are defined as a type of read-only placeholder object created for a result which doesn’t yet exist, a promise can be thought of as a writable, single-assignment container, which completes a future.
1316
* **Reentrant Lock** - Mutex that allows goroutines to enter into the lock on a resource more than once.
1417
* **Optimistic Lock** - Mutex that allows optimistic reading. Could be retried or switched to RLock in case of failure. Significantly improves performance in case of frequent reads and short writes. See [benchmarks](./benchmarks/README.md).
15-
* [**Go 1.18 Generics prototypes**](./generic)
18+
19+
### [Go 1.18 Generic prototypes](./generic)
20+
* **Task** - A data type for controlling possibly lazy and asynchronous computations.
1621

1722
## Examples
1823
Can be found in the examples directory/tests.

docs/images/async.png

15.2 KB
Loading

generic/task.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
// go:build go1.18
1+
//go:build go1.18
2+
// +build go1.18
23

34
package generic
45

generic/task_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
// go:build go1.18
1+
//go:build go1.18
2+
// +build go1.18
23

34
package generic
45

images/async.png

-13.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)