- 博客(5)
- 收藏
- 关注
原创 用内存池管理c++对象
当一个系统中 ,有一些对象需要频繁的申请和释放时,为了提高性能我们通常用内存池来管理这部分对象,这里给一个内存池的实现,我们用双向链表和数组实现内存池来管理c++对象。 内存池类 //// mempool.h// Created by DGuco on 17/7/29.// Copyright © 2017年 DGuco. All rights reserved
2017-07-29 13:55:49 2215 1
原创 c++ 性能优化策略
1 关于继承:不可否认良好的抽象设计可以让程序更清晰,代码更看起来更好,但是她也是有损失的,在继承体系中子类的创建会调用父类的构造函数,销毁时会调用父类的析构函数,这种消耗会随着继承的深度直线上升,所以不要过度的抽象和继承,更为严重的是当多重继承中并且有虚函数的存在时情况更为复杂,的确,这些问题涉及开销,但是,多重继承减少了编码的负担,同时也让问题的解决方案更加简洁,这当然要付出一些代价.总之,与...
2017-07-22 17:27:19 10112 11
原创 golang 如何将多路复异步io转变成阻塞io的
package mainimport ( "net")func handleConnection(c net.Conn) { //读写数据 buffer := make([]byte, 1024) c.Read(buffer) c.Write([]byte("Hello from server"))}func main() { l, err := net.Listen(
2017-07-15 20:45:19 6909 2
原创 atomic和volatile的操作的原子性
c++11提供了atomic来实现无锁并发数据结构,用起来很简单。 #include #include #include #include using namespace std;//std::mutex mu_lock;//int num = 0;std::atomic num(0);void testThread1(){ for ...
2017-07-09 16:49:47 6864
原创 golang同步之sync包
golang中实现并发非常简单,只需在需要并发的函数前面添加关键字"go",但是如何处理go并发机制中不同goroutine之间的同步与通信,golang 中提供了sync包和channel机制来解决这一问题.sync 包提供了互斥锁这类的基本的同步原语.除 Once 和 WaitGroup 之外的类型大多用于底层库的例程。更高级的同步操作通过信道与通信进行。type Cond
2017-07-02 16:24:29 4832
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人