libuv/docs/code/thread-create/main.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <unistd.h>
3 
4 #include <uv.h>
5 
6 void hare(void *arg) {
7  int tracklen = *((int *) arg);
8  while (tracklen) {
9  tracklen--;
10  sleep(1);
11  fprintf(stderr, "Hare ran another step\n");
12  }
13  fprintf(stderr, "Hare done running!\n");
14 }
15 
16 void tortoise(void *arg) {
17  int tracklen = *((int *) arg);
18  while (tracklen) {
19  tracklen--;
20  fprintf(stderr, "Tortoise ran another step\n");
21  sleep(3);
22  }
23  fprintf(stderr, "Tortoise done running!\n");
24 }
25 
26 int main() {
27  int tracklen = 10;
28  uv_thread_t hare_id;
29  uv_thread_t tortoise_id;
30  uv_thread_create(&hare_id, hare, &tracklen);
31  uv_thread_create(&tortoise_id, tortoise, &tracklen);
32 
33  uv_thread_join(&hare_id);
34  uv_thread_join(&tortoise_id);
35  return 0;
36 }
main
int main()
Definition: libuv/docs/code/thread-create/main.c:26
uv_thread_join
UV_EXTERN int uv_thread_join(uv_thread_t *tid)
Definition: libuv/src/unix/thread.c:271
python_utils.port_server.stderr
stderr
Definition: port_server.py:51
arg
Definition: cmdline.cc:40
uv_thread_create
UV_EXTERN int uv_thread_create(uv_thread_t *tid, uv_thread_cb entry, void *arg)
Definition: libuv/src/unix/thread.c:209
uv.h
hare
void hare(void *arg)
Definition: libuv/docs/code/thread-create/main.c:6
tortoise
void tortoise(void *arg)
Definition: libuv/docs/code/thread-create/main.c:16
uv_thread_t
pthread_t uv_thread_t
Definition: unix.h:134


grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:17