libuv::线程

摘要:
#include#include#include#包含#include uv_loop_t*create_loop(){uv_loop_t*loop=(uv_loop.t*)malloc(sizeof(uv_lop_t));if(loop){uv_loop_init(loop返回(retur)
#include <cstdio>
#include <stdio.h>
#include <stdlib.h>
#include <libuv/uv.h>
#include <unistd.h>

uv_loop_t* create_loop()
{
    uv_loop_t* loop = (uv_loop_t*)malloc(sizeof(uv_loop_t));
    if (loop) {
        uv_loop_init(loop);
    }
    return loop;
}

void signal_handler(uv_signal_t* handle, int signum)
{
    printf("Signal received: %d
", signum);
    uv_signal_stop(handle);
}
/*线程中运行循环*/
void thread_worker(void* userp)
{
    //获取线程ID
    uv_thread_t self_id = uv_thread_self();
    printf("thread id = %lu
", self_id);

    uv_loop_t* loop2 = create_loop();
    uv_loop_t* loop3 = create_loop();

    uv_signal_t sig2;
    uv_signal_init(loop2, &sig2);
    uv_signal_start(&sig2, signal_handler, SIGUSR1);

    uv_signal_t sig3;
    uv_signal_init(loop3, &sig3);
    uv_signal_start(&sig3, signal_handler, SIGUSR1);

    while (uv_run(loop2, UV_RUN_NOWAIT) || uv_run(loop3, UV_RUN_NOWAIT)) {
    }
}

int main()
{
    printf("PID %d
", getpid());

    uv_thread_t thread;
    uv_thread_create(&thread, thread_worker, 0);
    //等待子线程结束
    uv_thread_join(&thread);
    return 0;
}

免责声明:文章转载自《libuv::线程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇轻松学Pytorch-详解Conv2D卷积处理我也要谈谈大型网站架构之系列(2)——纵观历史演变(下)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

每次都能让人头大的 Shader -- 从一次简单的功能说起

  最近有个功能, 要渲染从主相机视角看到的另一个相机的可视范围和不可见范围, 大概如下图 :    简单来说就是主相机视野和观察者相机视野重合的地方, 能标记出观察者相机的可见和不可见, 实现原理就跟 ShadowMap 一样, 就是有关深度图, 世界坐标转换之类的, 每次有此类的功能都会很悲催, 虽然它的逻辑很简单, 可是用Unity3D做起来很麻烦...

针对高通BMS的研究 高通电量计

点击打开链接 高通8064 8974 8926等pm芯片都集成了电量计,估计后续芯片都会一直存在,现在许多项目UI状态栏电池都有百分比显示,所以需要深入分析BMS有助于解决电量方面的BUG。 一: SOC(荷电状态)计算方法 名词: FCC  Full-charge capacity       UC     Remaining capacityCC...

网站的PV UV IP---网站常见软件性能

IP,衡量不同时间段的上网人数.00:00-24:00内相同的地址被计算一次.例:日300W IP,至少300W人访问PV,衡量页面受欢迎程度.每刷新一次,被记录一次(刷pv),网站被访问的页面的数量 纯7层的,千万pv量 并发1-2wlvs+nginx10-20台 10w并发 NFS 4000w 只用做写,读取性能不佳. www.cnblogs.com/...

RN8302b调试笔记

RN8302b调试笔记 艰难调试完毕,吐槽的话就不说了,只有个手册,官方应用笔记还不给,想想太窝火 无奈才某处花钱买了个官方应用笔记。。。。。 忽然发现,现在啥都要钱了,希望博客园的分享可以坚持下去! 1. 通讯接口        别的不说了,既然PCB都做了,那就一个坑一个坑的来吧,这里不再赘述SPI的的接口以及通讯协议问题,这部分还都是靠谱的,按要求做...

Nodejs事件引擎libuv源码剖析之:请求(request)结构的设计剖析

     声明:本文为原创博文,转载请注明出处。         在libuv中,请求(request)代表一个用户向libuv发出的指令,比如uv_connect_s就表示一个tcp的连接请求、uv_work_s代表要递交给libuv线程池执行的任务请求、uv_write_s代表一个写请求。      类似于上一篇讲句柄(handle)那样,请求也由一个...

多媒体基础知识之YUV数据

1.什么是YUV格式 YUV,是一种颜色编码方法。Y表示明亮度(Luminance、Luma),也就是灰度值。U和V则是色度、浓度(Chrominance、Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信...