- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 CISCO交换机3850升级
思科交换机IOS升级前期准备文件导入U盘导入使用FTP/TFTP工具上传还有一种方法是思科官方给出的前期准备你需要先在Cisco官网下载你所需要的IOS,这里以16.12.5升级3850为例文件导入接下来你需要将下载好的文件导入交换机中,导入方式有两种:U盘导入和ftp服务导入,U盘导入较为方便,不用配置本机和VLAN。U盘导入首先将U盘插到交换机的USB口,交换机上会提示*********** Device usbflash0 addedswitch>switch>进特权
2021-05-10 08:49:50
3375
原创 python装饰器
python中有一种工具名为Decorator,即装饰器。如何理解装饰器呢,打个比方,内裤可以用来遮羞,但到了冬天他没办法为我们防风御寒,于是我们发明了长裤,有了长裤之后就不在冷了,装饰器就像我们的说的长裤,在不影响内裤作用的前提下,为我们的身子提供保暖的效果。装饰器本质上就是一个函数,他可以在不影响其他函数正常工作的前提下提供新的功能,常见的装饰器应用场景如“插入日志、性能测试、事务处理”等,...
2019-03-08 12:08:16
176
原创 同步条件变量(1)————等待多次事件
在c++多线程中,我们学习了用各种方法去保护在线程间共享的数据,但有时我们不只是需要保护数据,还需要在独立的线程上进行同步操作。例如一个线程在完成其任务之前需要等待另一个线程完成任务,c++标准库便提供了以条件变量和期值为形式的工具来处理它。 考虑下面一种状况:如果一个线程正在等待第二个线程完成一项任务,他有几个选择? 首先,他可以一直检查共享数据(由互斥元保护)中的标识,并且让第二个线程在完成
2017-09-18 21:38:57
1034
原创 c++ 单例模式的几种实现
何为单例模式,在《设计模式》一书中,其定义如下:保证一个类仅有一个实例,并提供一个访问他的全局访问点。其思想也很简单,为了防止有多个实例的出现,所以必须在类内构造一个实例,并且将其构造函数访问权限标记为private或protected。最后,为了提供一个全局访问点,必须在类内构造一个共有static函数,返回在类内部唯一构造的实例,UML图如下: 代码实现: 实例一:class Singl
2017-08-06 15:28:27
608
原创 c++ unique_lock与lock_guard的区别
std::lock_guard是c++的模板类,定义如下: template class lock_guard lock_guard 对象通常用于管理某个锁(Lock)对象,因此与 Mutex RAII 相关,方便线程对互斥量上锁,即在某个 lock_guard 对象的声明周期内,它所管理的锁对象会一直保持上锁状态;而 lock_guard 的生命周期结束之后,它所管理的锁对象会被解锁。 模
2017-08-04 14:35:03
1468
原创 c++并发初步学习(2)
在c++中,通过构造std::mutex的实例来创建互斥元,调用成员函数lock()来锁定他,调用unlock()来进行解锁。不过直接调用成员函数是不推荐的做法,因为这意味着你必须记住在每条可能离开函数(即线程)的代码路径上提供std::unlock(),包括由于异常所导致在内的。作为替代,c++提供了std::lock_guard类模板,实现了RAII惯用方法;它在构造函数时锁定互斥元,在析构是解
2017-06-12 18:41:22
244
原创 并发使用的时机
多处理器系统已经存在了几十年,但直到最近,它们也只在超级计算机、大型机和大型服务器系统中才能看到。然而,芯片制造商越来越倾向于多核芯片的设计,即在单个芯片上集成2、4、16或更多的处理器,从而获取更好的性能。因此,多核台式计算机、多核嵌入式设备,现在越来越普遍。它们计算能力的提高不是源自使单一任务运行的更快,而是并行运行多个任务。 在过去,程序员曾坐看他们的程序随着处理器的更新换代而变得更快,无需他
2017-06-08 20:34:20
369
原创 Visual Studio 2013 配置Boost库。 如何编译和选择,遇到无法打开文件“libboost_thread-vc120-mt-gd-1_58.lib的解决办法
1.首先你需要去下载最新的boost,www.boost.org ,我下的1.58版本。 2.解压到文件夹,我解压到了E:\boost。 3.在开始菜单打开Visual Studio Tools,, 然后选择X86命令行提示。 4.到你所解压的目录下,运行boostrap.bat文件。 5.此时会生成一个名为bjam.exe的可执行文件,使用这个工具来编译boost库,VS2013要指定输
2017-05-24 21:44:08
2268
原创 c++并发初步学习(1)
现代化体系结构通常支持多进程和多线程,因为这样可以大幅度提高程序的执行效率,然而在C++11之前,语言和标注库对于并发处理没有任何支持,纵使实现可自由给予若干承诺。自c++11后,这种情况有了改变,主要是下面两点: 1.语言核心定义了一个内存模型,保证当你更改“被两个不同线程使用”的两个object时,他们彼此独立,并定义了一个新的关键字thread_local用以定义“变量带有thread专
2017-05-02 20:05:23
239
原创 c++模板特化
所谓模板特化是指在类前或是在函数前加 template<>,此时的“template<>”象征着既不是template也不是标准class,而是个特化的类或者函数template(模板),如下: template<> class A < classB > { //构造,析构,复制构造,赋值构造函数等 }; 在template实参是c...
2017-04-06 21:42:26
254
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人