logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

从 Linux 线程创建到 docker 的 namespace

你可能会好奇,clone 不是子进程创建吗,为什么也可以创建线程,这个时候就是 clone_flags 的作用了,我们看到线程创建传入了很多 flag ,而这就是进程创建和线程创建的区别。第二个是栈指针,表示整个进程空间的栈指针位置,第三个是信号,SIGCHLD 表示子进程退出通知父进程,我们上边的 exit --> wait 逻辑就是这么产生的。这是glibc 2.39 的源码,可以看到他设置了

#linux#docker#运维
从C到C++入门:C++有而C语言没有的基础知识总结

从C语言到C++的转变无疑是巨大的:从面向过程编程到面向对象编程……如果一门心思扑到”封装、继承、多态“上学习,恐怕学到后面就会被一些语法整的困惑不解。C++常用但C语言却没有的基础知识。本文不仅适合于用做初学C++的入门文章,还可以帮助不清楚C与C++之间差异的读者理清思绪。namespace用法:命名空间需要用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命

#c语言#c++#算法
Docker网络高级实战:隔离网络、检查路由表和自定义网络驱动

Docker容器中的进程处于宿主机的网络环境中,相当于docker容器与宿主机共同使用一个network namespace,使用宿主机的网卡、IP和端口等信息。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。这个驱动实际上并没有做真正的网络服务实现,而是调用了用户自行实现的网络驱动插件,使libnetwork实现了驱动的可插件化,更好的满足了用户的多种需求。此驱动为Docker的

#docker#网络#容器
C++入门指南:从零开始,做一名优秀的程序员

C++兼容C语言的绝大多数语法,所以C语言的"Hello World"在C++中也能运行。C++引入了命名空间(namespace),就像给每个人分配了一个"家庭",在同一个家庭内可以有同名的人,但不同家庭之间不会冲突。在C语言中,如果两个文件定义了同名的函数或变量,编译器就会报错,就像两个同学都叫"小明",老师很难区分谁是谁。这就像C++自带了一个"智能助手",能自动判断你输出的是什么类型,不需

#c++#算法#开发语言
Java中CyclicBarrier应用场景

Java并发编程,CyclicBarrier 它是一种同步工具,允许一组线程相互等待,直到所有线程到达公共屏障点。当一个大任务被分成多个子任务,并行处理多个线程,下一步汇总操作需要所有子任务完成时,CyclicBarrier 非常适用。3. 分阶段任务合作有些算法或流程需要分阶段执行,每个阶段依赖于前一阶段的完成,多个线程需要同步进入下一阶段。每轮结束时,线程调用 await(),等完成后再进入下

#java#开发语言
从 Linux 线程创建到 docker 的 namespace

你可能会好奇,clone 不是子进程创建吗,为什么也可以创建线程,这个时候就是 clone_flags 的作用了,我们看到线程创建传入了很多 flag ,而这就是进程创建和线程创建的区别。第二个是栈指针,表示整个进程空间的栈指针位置,第三个是信号,SIGCHLD 表示子进程退出通知父进程,我们上边的 exit --> wait 逻辑就是这么产生的。这是glibc 2.39 的源码,可以看到他设置了

#linux#docker#运维
Nginx的反向代理:实现灵活的请求转发和内容缓存

首先来看看常见的资源访问地址模式:代码语言:Bash自动换行AI代码解释如果没有使用restful,那么Nginx的配置文件需要这样配置:展开代码语言:JSON自动换行AI代码解释} } }显得有些复杂和固化。如果使用restful,就可以这样配置:展开代码语言:JSON自动换行AI代码解释如果conf的内容过长,还可以进行模块化配置,使用include引用:比如把下面的:展开代码语言:Bash自

#nginx#缓存#运维
C 语言的骚操作

我开始也是怀疑这个是不是能够运行起来,就写了一段测试程序。代码语言:cAI代码解释上述代码只要熟悉 c 语言的基本都能看得懂,对代码进行编译时候编译也通过了。编译代码编译器只是对编译过程做出了警告,并没有报 error ,所以语法层面是可以编译成功的。那么既然可以运行那么有人直到结果是什么吗?在得出结果前,我们先看一下这段代码是干什么的,首先(Test)0 是将 0 强制转化为一个指向 test

#c语言#算法#数据结构
Java全栈工程师面试实录:从基础到项目实战

应聘者:Java的内存模型主要包括堆、方法区、栈、程序计数器和本地方法栈。堆是Java虚拟机中最大的一块内存区域,用于存放对象实例。方法区存储类信息、常量、静态变量等。栈用于存储局部变量和方法调用的上下文。程序计数器记录当前线程执行的字节码指令地址。本地方法栈则是为Native方法服务的。面试官:非常好,回答得非常清晰。那你能说说JVM的垃圾回收机制吗?应聘者:JVM的垃圾回收机制主要是通过标记-

#java#面试#开发语言
    共 41 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择