internal/csync/doc.go 🔗
@@ -0,0 +1,3 @@
+// Package csync provides concurrent data structures for safe access in
+// multi-threaded environments.
+package csync
Carlos Alexandro Becker created
internal/csync/doc.go | 3 +++
internal/csync/slices_test.go | 13 ++++---------
2 files changed, 7 insertions(+), 9 deletions(-)
@@ -0,0 +1,3 @@
+// Package csync provides concurrent data structures for safe access in
+// multi-threaded environments.
+package csync
@@ -260,22 +260,17 @@ func TestSlice(t *testing.T) {
var wg sync.WaitGroup
// Concurrent appends
- for i := 0; i < numGoroutines; i++ {
- wg.Add(1)
+ for i := range numGoroutines {
+ wg.Add(2)
go func(start int) {
defer wg.Done()
- for j := 0; j < itemsPerGoroutine; j++ {
+ for j := range itemsPerGoroutine {
s.Append(start*itemsPerGoroutine + j)
}
}(i)
- }
-
- // Concurrent reads
- for i := 0; i < numGoroutines; i++ {
- wg.Add(1)
go func() {
defer wg.Done()
- for j := 0; j < itemsPerGoroutine; j++ {
+ for range itemsPerGoroutine {
s.Len() // Just read the length
}
}()