diff --git a/src/043-state-goroutine/state-goroutine.go b/src/043-state-goroutine/state-goroutine.go index 94eeaa5..942d91f 100644 --- a/src/043-state-goroutine/state-goroutine.go +++ b/src/043-state-goroutine/state-goroutine.go @@ -83,10 +83,8 @@ func main() { go generateWrites(writes) } - time.Sleep(10 * time.Second) - + atomic.StoreInt64(&opCount, 0) + time.Sleep(time.Second) finalOpCount := atomic.LoadInt64(&opCount) fmt.Println(finalOpCount) } - -// todo: complement chapter with mutex diff --git a/src/043-state-goroutine/state-goroutine-compare.go b/src/044-state-mutex/state-mutex.go similarity index 92% rename from src/043-state-goroutine/state-goroutine-compare.go rename to src/044-state-mutex/state-mutex.go index 15ba18a..ee217d7 100644 --- a/src/043-state-goroutine/state-goroutine-compare.go +++ b/src/044-state-mutex/state-mutex.go @@ -1,4 +1,4 @@ -// ## State Goroutine (Comparison) +// ## State Mutex package main @@ -59,8 +59,8 @@ func main() { go generateWrites() } - time.Sleep(10 * time.Second) - + atomic.StoreInt64(&opCount, 0) + time.Sleep(time.Second) finalOpCount := atomic.LoadInt64(&opCount) fmt.Println(finalOpCount) } diff --git a/src/044-sorting/sorting.go b/src/045-sorting/sorting.go similarity index 100% rename from src/044-sorting/sorting.go rename to src/045-sorting/sorting.go diff --git a/src/044-sorting/sorting.sh b/src/045-sorting/sorting.sh similarity index 100% rename from src/044-sorting/sorting.sh rename to src/045-sorting/sorting.sh diff --git a/src/045-sorting-by-functions/sorting-by-functions.go b/src/046-sorting-by-functions/sorting-by-functions.go similarity index 100% rename from src/045-sorting-by-functions/sorting-by-functions.go rename to src/046-sorting-by-functions/sorting-by-functions.go diff --git a/src/045-sorting-by-functions/sorting-by-functions.sh b/src/046-sorting-by-functions/sorting-by-functions.sh similarity index 100% rename from src/045-sorting-by-functions/sorting-by-functions.sh rename to src/046-sorting-by-functions/sorting-by-functions.sh diff --git a/src/046-collection-functions/collection-functions.go b/src/047-collection-functions/collection-functions.go similarity index 100% rename from src/046-collection-functions/collection-functions.go rename to src/047-collection-functions/collection-functions.go diff --git a/src/047-string-functions/string-functions.go b/src/048-string-functions/string-functions.go similarity index 100% rename from src/047-string-functions/string-functions.go rename to src/048-string-functions/string-functions.go diff --git a/src/048-string-formatting/string-formatting.go b/src/049-string-formatting/string-formatting.go similarity index 100% rename from src/048-string-formatting/string-formatting.go rename to src/049-string-formatting/string-formatting.go diff --git a/src/048-string-formatting/string-formatting.sh b/src/049-string-formatting/string-formatting.sh similarity index 100% rename from src/048-string-formatting/string-formatting.sh rename to src/049-string-formatting/string-formatting.sh diff --git a/src/049-regexs/regexs.go b/src/050-regexs/regexs.go similarity index 100% rename from src/049-regexs/regexs.go rename to src/050-regexs/regexs.go diff --git a/src/049-regexs/regexs.sh b/src/050-regexs/regexs.sh similarity index 100% rename from src/049-regexs/regexs.sh rename to src/050-regexs/regexs.sh diff --git a/src/050-bytes/bytes.go b/src/051-bytes/bytes.go similarity index 100% rename from src/050-bytes/bytes.go rename to src/051-bytes/bytes.go diff --git a/src/051-json/json.go b/src/052-json/json.go similarity index 100% rename from src/051-json/json.go rename to src/052-json/json.go diff --git a/src/052-time/time.go b/src/053-time/time.go similarity index 100% rename from src/052-time/time.go rename to src/053-time/time.go diff --git a/src/052-time/time.sh b/src/053-time/time.sh similarity index 100% rename from src/052-time/time.sh rename to src/053-time/time.sh diff --git a/src/053-epochs/epochs.go b/src/054-epochs/epochs.go similarity index 100% rename from src/053-epochs/epochs.go rename to src/054-epochs/epochs.go diff --git a/src/053-epochs/epochs.sh b/src/054-epochs/epochs.sh similarity index 100% rename from src/053-epochs/epochs.sh rename to src/054-epochs/epochs.sh diff --git a/src/054-elapsed-time/elapsed-time.go b/src/055-elapsed-time/elapsed-time.go similarity index 100% rename from src/054-elapsed-time/elapsed-time.go rename to src/055-elapsed-time/elapsed-time.go diff --git a/src/055-random-numbers/random-numbers.go b/src/056-random-numbers/random-numbers.go similarity index 100% rename from src/055-random-numbers/random-numbers.go rename to src/056-random-numbers/random-numbers.go diff --git a/src/055-random-numbers/random-numbers.sh b/src/056-random-numbers/random-numbers.sh similarity index 100% rename from src/055-random-numbers/random-numbers.sh rename to src/056-random-numbers/random-numbers.sh diff --git a/src/056-number-parsing/number-parsing.go b/src/057-number-parsing/number-parsing.go similarity index 100% rename from src/056-number-parsing/number-parsing.go rename to src/057-number-parsing/number-parsing.go diff --git a/src/056-number-parsing/number-parsing.sh b/src/057-number-parsing/number-parsing.sh similarity index 100% rename from src/056-number-parsing/number-parsing.sh rename to src/057-number-parsing/number-parsing.sh diff --git a/src/057-urls/urls.go b/src/058-urls/urls.go similarity index 100% rename from src/057-urls/urls.go rename to src/058-urls/urls.go diff --git a/src/057-urls/urls.sh b/src/058-urls/urls.sh similarity index 100% rename from src/057-urls/urls.sh rename to src/058-urls/urls.sh diff --git a/src/058-sha1-hashes/sha1-hashes.go b/src/059-sha1-hashes/sha1-hashes.go similarity index 100% rename from src/058-sha1-hashes/sha1-hashes.go rename to src/059-sha1-hashes/sha1-hashes.go diff --git a/src/058-sha1-hashes/sha1-hashes.sh b/src/059-sha1-hashes/sha1-hashes.sh similarity index 100% rename from src/058-sha1-hashes/sha1-hashes.sh rename to src/059-sha1-hashes/sha1-hashes.sh diff --git a/src/059-base64-encoding/base64-encoding.go b/src/060-base64-encoding/base64-encoding.go similarity index 100% rename from src/059-base64-encoding/base64-encoding.go rename to src/060-base64-encoding/base64-encoding.go diff --git a/src/060-reading-files/reading-files.go b/src/061-reading-files/reading-files.go similarity index 100% rename from src/060-reading-files/reading-files.go rename to src/061-reading-files/reading-files.go diff --git a/src/061-writing-files/writing-files.go b/src/062-writing-files/writing-files.go similarity index 100% rename from src/061-writing-files/writing-files.go rename to src/062-writing-files/writing-files.go diff --git a/src/062-line-filters/line-filters.go b/src/063-line-filters/line-filters.go similarity index 100% rename from src/062-line-filters/line-filters.go rename to src/063-line-filters/line-filters.go diff --git a/src/062-line-filters/line-filters.sh b/src/063-line-filters/line-filters.sh similarity index 100% rename from src/062-line-filters/line-filters.sh rename to src/063-line-filters/line-filters.sh diff --git a/src/063-command-line-arguments/command-line-arguments.go b/src/064-command-line-arguments/command-line-arguments.go similarity index 100% rename from src/063-command-line-arguments/command-line-arguments.go rename to src/064-command-line-arguments/command-line-arguments.go diff --git a/src/063-command-line-arguments/command-line-arguments.sh b/src/064-command-line-arguments/command-line-arguments.sh similarity index 100% rename from src/063-command-line-arguments/command-line-arguments.sh rename to src/064-command-line-arguments/command-line-arguments.sh diff --git a/src/064-command-line-flags/command-line-flags.go b/src/065-command-line-flags/command-line-flags.go similarity index 100% rename from src/064-command-line-flags/command-line-flags.go rename to src/065-command-line-flags/command-line-flags.go diff --git a/src/065-environment-variables/environment-variables.go b/src/066-environment-variables/environment-variables.go similarity index 100% rename from src/065-environment-variables/environment-variables.go rename to src/066-environment-variables/environment-variables.go diff --git a/src/065-environment-variables/environment-variables.sh b/src/066-environment-variables/environment-variables.sh similarity index 100% rename from src/065-environment-variables/environment-variables.sh rename to src/066-environment-variables/environment-variables.sh diff --git a/src/066-spawning-processes/spawning-processes.go b/src/067-spawning-processes/spawning-processes.go similarity index 100% rename from src/066-spawning-processes/spawning-processes.go rename to src/067-spawning-processes/spawning-processes.go diff --git a/src/066-spawning-processes/spawning-processes.sh b/src/067-spawning-processes/spawning-processes.sh similarity index 100% rename from src/066-spawning-processes/spawning-processes.sh rename to src/067-spawning-processes/spawning-processes.sh diff --git a/src/067-execing-processes/execing-processes.go b/src/068-execing-processes/execing-processes.go similarity index 100% rename from src/067-execing-processes/execing-processes.go rename to src/068-execing-processes/execing-processes.go diff --git a/src/068-signals/signals.go b/src/069-signals/signals.go similarity index 100% rename from src/068-signals/signals.go rename to src/069-signals/signals.go diff --git a/src/068-signals/signals.sh b/src/069-signals/signals.sh similarity index 100% rename from src/068-signals/signals.sh rename to src/069-signals/signals.sh diff --git a/src/069-exit/exit.go b/src/070-exit/exit.go similarity index 100% rename from src/069-exit/exit.go rename to src/070-exit/exit.go diff --git a/src/069-exit/exit.sh b/src/070-exit/exit.sh similarity index 100% rename from src/069-exit/exit.sh rename to src/070-exit/exit.sh diff --git a/src/070-http-client/http-client.go b/src/071-http-client/http-client.go similarity index 100% rename from src/070-http-client/http-client.go rename to src/071-http-client/http-client.go diff --git a/src/071-https-client/https-client.go b/src/072-https-client/https-client.go similarity index 100% rename from src/071-https-client/https-client.go rename to src/072-https-client/https-client.go diff --git a/src/072-redis/redis.go b/src/073-redis/redis.go similarity index 100% rename from src/072-redis/redis.go rename to src/073-redis/redis.go diff --git a/src/072-redis/redis.sh b/src/073-redis/redis.sh similarity index 100% rename from src/072-redis/redis.sh rename to src/073-redis/redis.sh diff --git a/src/073-postgres/postgres.go b/src/074-postgres/postgres.go similarity index 100% rename from src/073-postgres/postgres.go rename to src/074-postgres/postgres.go diff --git a/src/073-postgres/postgres.sh b/src/074-postgres/postgres.sh similarity index 100% rename from src/073-postgres/postgres.sh rename to src/074-postgres/postgres.sh diff --git a/src/074-sending-email/sending-email.go b/src/075-sending-email/sending-email.go similarity index 100% rename from src/074-sending-email/sending-email.go rename to src/075-sending-email/sending-email.go diff --git a/src/075-hello-web/hello-web.go b/src/076-hello-web/hello-web.go similarity index 100% rename from src/075-hello-web/hello-web.go rename to src/076-hello-web/hello-web.go diff --git a/src/076-responses/responses.go b/src/077-responses/responses.go similarity index 100% rename from src/076-responses/responses.go rename to src/077-responses/responses.go diff --git a/src/076-responses/responses.sh b/src/077-responses/responses.sh similarity index 100% rename from src/076-responses/responses.sh rename to src/077-responses/responses.sh diff --git a/src/077-request-routing/request-routing.go b/src/078-request-routing/request-routing.go similarity index 100% rename from src/077-request-routing/request-routing.go rename to src/078-request-routing/request-routing.go diff --git a/src/077-request-routing/request-routing.sh b/src/078-request-routing/request-routing.sh similarity index 100% rename from src/077-request-routing/request-routing.sh rename to src/078-request-routing/request-routing.sh diff --git a/src/078-request-logging/request-logging.go b/src/079-request-logging/request-logging.go similarity index 100% rename from src/078-request-logging/request-logging.go rename to src/079-request-logging/request-logging.go diff --git a/src/079-static-content/static-content.go b/src/080-static-content/static-content.go similarity index 100% rename from src/079-static-content/static-content.go rename to src/080-static-content/static-content.go diff --git a/src/079-static-content/static-content.sh b/src/080-static-content/static-content.sh similarity index 100% rename from src/079-static-content/static-content.sh rename to src/080-static-content/static-content.sh diff --git a/src/080-basic-authentication/basic-authentication.go b/src/081-basic-authentication/basic-authentication.go similarity index 100% rename from src/080-basic-authentication/basic-authentication.go rename to src/081-basic-authentication/basic-authentication.go diff --git a/src/081-canonical-hosts/canonical-hosts.go b/src/082-canonical-hosts/canonical-hosts.go similarity index 100% rename from src/081-canonical-hosts/canonical-hosts.go rename to src/082-canonical-hosts/canonical-hosts.go diff --git a/src/081-canonical-hosts/canonical-hosts.sh b/src/082-canonical-hosts/canonical-hosts.sh similarity index 100% rename from src/081-canonical-hosts/canonical-hosts.sh rename to src/082-canonical-hosts/canonical-hosts.sh diff --git a/src/082-middleware/middleware.go b/src/083-middleware/middleware.go similarity index 100% rename from src/082-middleware/middleware.go rename to src/083-middleware/middleware.go diff --git a/src/083-graceful-shutdown/graceful-shutdown.go b/src/084-graceful-shutdown/graceful-shutdown.go similarity index 100% rename from src/083-graceful-shutdown/graceful-shutdown.go rename to src/084-graceful-shutdown/graceful-shutdown.go diff --git a/src/083-graceful-shutdown/graceful-shutdown.sh b/src/084-graceful-shutdown/graceful-shutdown.sh similarity index 100% rename from src/083-graceful-shutdown/graceful-shutdown.sh rename to src/084-graceful-shutdown/graceful-shutdown.sh diff --git a/src/084-https-servers/https-servers.go b/src/085-https-servers/https-servers.go similarity index 100% rename from src/084-https-servers/https-servers.go rename to src/085-https-servers/https-servers.go diff --git a/src/084-https-servers/https-servers.sh b/src/085-https-servers/https-servers.sh similarity index 100% rename from src/084-https-servers/https-servers.sh rename to src/085-https-servers/https-servers.sh diff --git a/tool/index.txt b/tool/index.txt index 98b30b0..5ca06ff 100644 --- a/tool/index.txt +++ b/tool/index.txt @@ -48,6 +48,7 @@ closing-channels timers tickers state-goroutine +state-mutex ## core libraries sorting