简介
libuv提供了多线程处理的封装,使用起来也非常简单,一个handle,即uv_thread_t,在linux环境下,就是pthread_t,也就是unsigned long类型。相关的三个函数为
UV_EXTERN int uv_thread_create(uv_thread_t *tid,
void (*entry)(void *arg), void *arg);
UV_EXTERN unsigned long uv_thread_self(void);
UV_EXTERN int uv_thread_join(uv_thread_t *tid);
下面我们介绍下怎么使用这三个函数 uv_thread_create用来创建一个新的线程uv_thread_self可以获得线程的id(主线程也一样)uv_thread_join则用来等待子线程完成</pre><p></p><h2>简单示例</h2><div><pre name="code" class="cpp">
/*
* test_thread_equal.cc
* uv_thread_t is pthread_t, and is type unsigned long int.
* Created on: 2015年2月5日
*/
#include <stdlib.h>
#include <stdio.h>
#include <node/uv.h>
uv_thread_t main_thread_id; //主线程id
uv_thread_t subthreads[2]; //传递给子线程的数据
/**
* this method will run