aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/old/examples/concurrency/concurrency_http.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/old/examples/concurrency/concurrency_http.v')
-rw-r--r--v_windows/v/old/examples/concurrency/concurrency_http.v32
1 files changed, 32 insertions, 0 deletions
diff --git a/v_windows/v/old/examples/concurrency/concurrency_http.v b/v_windows/v/old/examples/concurrency/concurrency_http.v
new file mode 100644
index 0000000..b5b0b58
--- /dev/null
+++ b/v_windows/v/old/examples/concurrency/concurrency_http.v
@@ -0,0 +1,32 @@
+import net.http
+import sync
+import time
+
+fn vlang_time(mut wg sync.WaitGroup) ?string {
+ start := time.ticks()
+ data := http.get('https://vlang.io/utc_now') ?
+ finish := time.ticks()
+ println('Finish getting time ${finish - start} ms')
+ println(data.text)
+ wg.done()
+ return data.text
+}
+
+fn remote_ip(mut wg sync.WaitGroup) ?string {
+ start := time.ticks()
+ data := http.get('https://api.ipify.org') ?
+ finish := time.ticks()
+ println('Finish getting ip ${finish - start} ms')
+ println(data.text)
+ wg.done()
+ return data.text
+}
+
+fn main() {
+ mut wg := sync.new_waitgroup()
+ wg.add(2)
+ // Run tasks async
+ go vlang_time(mut wg)
+ go remote_ip(mut wg)
+ wg.wait()
+}