摘要: 环境:Ubuntu16.04 + docker 创建好master和slave两文件夹,分别编写Dockerfile和my.cnf。 创建镜像和容器 docker build -t master/mysql . docker build -t slave/mysql . docker run -p 阅读全文
posted @ 2020-12-06 23:57 osbreak 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 待续 阅读全文
posted @ 2020-12-06 16:35 osbreak 阅读(87) 评论(0) 推荐(0) 编辑
摘要: #include <cstdio> #include <stdio.h> #include <stdlib.h> #include <libuv/uv.h> #include <inttypes.h> #include <stdio.h> #include <stdlib.h> #include < 阅读全文
posted @ 2020-12-06 16:25 osbreak 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 对于基于事件(event-based)的程序来说, 有个限制,没办法很好地利用多核,提高CPU使用率. 即使能够使用多线程编程来分发 handle, 但是每个 loop 还是只有一个线程. 这时候, 使用多进程就能够分担 loop 的压力,并且通过多进程 + 通信的方法, 会比 多线程 + 共享内存 阅读全文
posted @ 2020-12-06 16:21 osbreak 阅读(270) 评论(0) 推荐(0) 编辑
摘要: #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_lo 阅读全文
posted @ 2020-12-06 16:05 osbreak 阅读(223) 评论(0) 推荐(0) 编辑
摘要: //初始化句柄。 int uv_timer_init(uv_loop_t * loop,uv_timer_t * handle) //启动计时器。超时和重复的时间以毫秒为单位。 如果超时为零,则回调在下一个事件循环迭代时触发。如果repeat为非零值,则回调将在超时 毫秒后首先触发,然后在重复毫秒后 阅读全文
posted @ 2020-12-06 15:45 osbreak 阅读(991) 评论(0) 推荐(0) 编辑
摘要: libuv提供了一个线程池,可用于运行用户代码并在循环线程中得到通知。该线程池在内部用于运行所有文件系统操作以及getaddrinfo和getnameinfo请求。 其默认大小为4,但可以在启动时通过将UV_THREADPOOL_SIZE环境变量设置为任何值(绝对最大值为1024)来更改它 。 线程 阅读全文
posted @ 2020-12-06 13:00 osbreak 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 使用场景 这种“栏杆”机制最大的特点就是最后一个执行wait的动作最为重要, pthread_barrier_xxx让所有线程等待,所有线程准备好后再一起行动。 如pthread_create()生成100个线程,每个子线程在被create出的瞬间就会自顾自的立刻进入回调函数运行。 但我们可能不希望 阅读全文
posted @ 2020-12-06 12:31 osbreak 阅读(485) 评论(0) 推荐(0) 编辑