自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解c++多态的实现原理

允许不同的对象,对相同的消息产生不同的响应;c++中多态分为两种:一种是静态多态,主要指的是函数重载;另一种是动态多态,通过函数覆盖(重写)实现;本文主要讨论动态多态,以下统称为多态。使用基类指针或引用指向子类对象,且调用虚函数时,就会根据指针或引用指向的对象的实际类型,访问实际对象重写的虚函数。使用基类指针或引用指向子类对象,且调用虚函数时,就会发生多态;多态的实现依赖于虚函数,虚表指针和虚函数表;

2024-07-11 21:33:47 704

原创 互斥锁和条件变量实战:万字拆解基于c++11实现支持Fixed&&Cached模式线程池

互斥锁条件变量实战:基于c++11支持可变参fixed&&cached模式的线程池

2024-07-09 11:10:28 889

原创 c++中互斥锁和条件变量详解

线程2执行线程函数funcNotify,首先是获得了锁,然后进行cv.notify_all()操作,唤醒线程1,此时线程1已经苏醒,但是线程1并未向下执行,这是由于虽然线程1苏醒了,还没有获得锁不能向下执行,我们让线程1先执行然后cv_.wait(lck)让线程1释放锁,然后线程2获得了锁,执行了自己的任务,然后释放了锁,可以看到线程1仍然在阻塞,并没有看到wait end字样,但是此时锁是可用的,说明,首先让线程id为2,3,4的线程阻塞,然后线程id为5的线程负责唤醒他们,之后线程2,3,4苏醒;

2024-07-01 17:31:48 1423

空空如也

空空如也

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

TA关注的人

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