自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 c++中的四种cast

reinterpret_cast:显示转换,可以进行任意的转换,是通过完全复制对象的二进制数据,返回的结果不可控,不会进行安全检查。四种cast分别为 static_cast、dynamic_cast、reinterpret_cast、const_cast。const_cast:去除对象的const和volatile属性,但是const_cast中的类型必须是指针或引用。static_cast: 代替隐式替换,对象可以是类也可以是指针和引用,在进行基类向派生类转换时不提供安全检查。

2023-09-10 12:07:01 115

原创 单例模式与双检测锁

2、单例模式允许在程序的任何地方访问特定对象。懒汉式单例模式在多线程情况下会出现线程不安全从而导致创建多个实例的情况,由此可知,在创建实例时需要加锁。但是这样会导致每次调用getInstance方法时都要加锁,浪费资源,只需在第一次创建实例时加锁。1、控制对于某些共享资源(数据库,文件)的访问权限。单例模式:是软件设计模式的一种,单例必须保证只有一个类实例存在。1、需要频繁实例化候销毁的对象。懒汉式单例模式:实例对象在第一次使用时构建,延迟初始化。饿汉式单例模式:实例对象在类装载时就构建,急切初始化。

2023-05-25 20:52:04 148

原创 线程安全类

当多个线程访问同一个对象时,**如果不用考虑这些线程在运行时环境下的调度和交替运行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,**调用这个对象的行为都可以获取正确的结果,那这个对象是线程安全的。

2023-05-25 17:29:40 85

原创 简单工厂模式与抽象工厂模式

抽象工厂模式:当类的种类很多且可以按某个属性将其中的几个类划分为一个类时,再使用工厂方法模式将会产生大量的工厂类,由此提出抽象工厂模式,一个工厂有多个成员函数来生成这一大类中的不同小类的实例。工厂方法模式:是对简单工厂模式的一个升级,不再通过接受参数来返回需要的实例,而是给每个需要的实例实现一个对应的工厂类,再通过相应的工厂类返回所需实例。简单工厂模式:建立一个简单的工厂类,工厂类的静态成员方法接收一个参数来分辨返回何种类的实例。

2023-05-24 09:55:55 64

原创 c++重入锁

使用情况:存在有两个函数A和B,函数A需要调用函数B,但两个函数执行都需要使用加同一把锁来执行原子操作,若使用互斥锁,当在函数A中需要调用函数B时,由于此时函数A持有锁,需要等函数B执行完后才能解锁,而函数B需要等函数A释放锁从而阻塞等待,造成了死锁,在这种情况下,提出了重入锁,持有锁的线程可以重复加锁,并将上锁数加1,当解锁时,只有解锁的是当前线程才有作用,每执行一次解锁,上锁数减1,当上锁数为0后,线程释放锁。指拥有这个锁的线程可以在执行过程中重复加锁。

2023-05-23 23:46:35 688

原创 webserver开发过程中遇到的一些问题

webserver开发过程中的一些小问题

2023-03-19 14:27:48 279

原创 EPOLL事件的值及含义

epoll事件的值及其含义

2023-03-19 09:40:22 597

原创 使用epoll实现服务器并发

使用epoll实现服务器并发

2023-03-14 10:29:44 170

原创 基于poll改进基于select的服务器并发

用poll改进基于select的并发服务器

2023-03-13 17:18:44 70

原创 使用select I/O复用实现服务器并发

使用select函数实现服务器并发

2023-03-13 16:32:04 57

原创 使用多进程实现并发服务器

使用多进程的方法处理多客户端并发请求

2023-03-12 17:56:16 155

原创 信号量案例

通过信号量改进条件变量案例

2023-03-11 16:59:56 61

原创 条件变量案例

条件变量实现案例

2023-03-11 16:44:38 68

原创 读写锁实例

使用读写锁实现进程同步

2023-03-11 11:33:54 59

原创 线程同步实例

通过互斥锁实现线程同步

2023-03-11 10:35:19 37

原创 守护进程创建

守护进程的创建实例

2023-03-10 16:53:54 33

原创 共享内存使用

等同于将一块共享内存拼接到进程用户空间,不需要再通过内核参与数据的传输。内存共享是进程通信最快的手段,不需要多次转存数据就可实现的数据交换。4、进程断开与共享内存的连接。3、对共享内存的读写操作。5、对共享内存标记删除。

2023-03-10 11:44:19 323

原创 SIGCHLD信号

使用SIGCHLD信号避免僵尸进程

2023-03-09 13:00:29 97

原创 sigaction函数

sigaction函数介绍及实例

2023-03-09 11:29:36 224

原创 jdbc配置步骤

1.注册驱动,加载驱动 Class.forName("com.mysql.cj.jdbc.Driver");2.获得连接String url = "jdbc:mysql://localhost:3306/company";String user = "root";String password = "1234";Connection connection = DriverManager.getConnection(url, user, password);if (connectio.

2021-08-16 16:47:49 1106

原创 servlet、jdbc、jquery、Ajax

servlet:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。工作过程:1.客户端发送请求至服务器 2.服务器启动并调用 Servlet,Servlet 根据客户端请求生成响应内容并将其传给服务器 3.服务器将响应返回客户端jdbc(Java Data Base Connectivity(Java数据库连接)):连接java与底层数

2021-08-16 16:32:17 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除