- 博客(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关注的人