E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
C++11多线程编程
学习记录(自用)
JavaSE基础:异常处理六个例子彻底理解finally语句块JVM原理Java高级特性泛型Java泛型详解细说Java泛型及其应用细说Java泛型及其应用反射注解Java注解完全解析Java网络编程Java
多线程编程
线程基础
weixin_33962621
·
2024-02-14 07:12
java
大数据
数据库
{}初始化和初始化列表
C++98标准中允许使用花括号对数组和自定义类型的变量进行初始化,
C++11
扩展了大括号的用途,允许使用花括号对所有的内置类型和自定义类型进行初始化,使用时,可以加=号,也可以不加。
三水吉吉
·
2024-02-13 21:42
c++
开发语言
C++11
中的简化声明
auto用于自动类型推断,显示定义变量:typeidtypeid推导出来的是字符串,只能看不能用,通过打印来查看变量的类型,用法如上。decltype同样是用来自动推导类型,与auto的区别是,auto在定义时必须赋值,它需要通过等号右端的常量或者变量来推到类型,如果你只想定义一个变量不希望赋值,就用decltype:nulllptr为了补NULL的坑。早版本NULL被定义成了字面常量0,但我们期
三水吉吉
·
2024-02-13 21:11
c++
开发语言
Python中threading模块的常用方法和示例
视频教程地址:【2024毕设系列】Anaconda和Pycharm如何使用_哔哩哔哩Python的threading模块提供了
多线程编程
的能力,允许在同一时间内执行多个线程。
肆十二
·
2024-02-13 09:00
Python常用的库
python
开发语言
threading
基于广度优先搜索的自适应贪吃蛇实现
注:本文偏新手向,如有错漏请多指教1.系统配置KeyValue系统Windows10语言C++11IDEQt5.6.1编译器Clang-Qt的Pro配置文件如下所示,注意这里要加上
c++11
的配置选项,
LeYOUNGER
·
2024-02-13 08:44
C++
windows
qt
c++
C++11
:智能指针
诸如auto_ptr以及
C++11
新增的shared_ptr和unique_ptr等智能指针模板使得管理由new分配的内存更容易。它们是类。
BU冰糖雪梨里的梨PT
·
2024-02-13 07:38
C/C++/C#基础
c++
智能指针
C++新特性“CPU优化对齐”
首先是CPU电脑中的CPU(单核或者多核)对数据对齐有着迫切的追求一个好的字节长度可以让CPU运行起来更加的轻松不好的对齐只会让程序运行的速度减慢甚至抛出错误一向以高性能著称的C++语言早在
C++11
之
4399.9855
·
2024-02-13 07:24
C++
新特性
c++
开发语言
C++底层优化
【Java】乐观锁、悲观锁、可重入锁、不可重入锁、公平锁、非公平锁、互斥锁、共享锁的关系是什么?
这些术语主要与
多线程编程
中的并发控制相关。下面我将逐一解释这些锁的概念,并解释它们之间的关系。
YifengGuo233
·
2024-02-13 07:48
java
开发语言
C++11
/14之重载全局operator new和operator delete函数
索引重载全局operatornew和operatordelete函数,operatornew[]和operatordelete[]函数定位new(placementnew)格式:new(地址)类类型(参数)定位new操作符的重载多种版本的operatornew重载重载全局operatornew和operatordelete函数,operatornew[]和operatordelete[]函数voi
NGC_2070
·
2024-02-12 22:55
#
C++11/14/17
c++
C++11
一些关键字 ,
C++11
左值右值和移动构造
auto关键字根据赋值表达式进行自动识别类型(不是
c++11
新的)c语言当中autointz=123;---->>>变成局部自动变量和局部变量作用一样c++重新实现auto的作用为了简化代码遍历容器的时候用
互联网农民工啾咪
·
2024-02-12 22:22
C++语法学习
c++
03-左值右值傻傻分不清
目录前言分类右值作为函数形参生命周期引用坍缩Q&A总结前言
C++11
比起C++98一个重要的提升就是引入了移动语义。这一个重要的提升为后面很多容器的优化都奠定了基础。
或许 没有
·
2024-02-12 22:51
现代C++
c++
编程语言
现代C++教程 笔记
现代C++是指
C++11
之后的语法特性,如无特别说明,下面的语法特性均是
C++11
后才可使用。
Jeremy_权
·
2024-02-12 17:48
C++
c++
python中的p dml sel_Python中enumerate函数用法详解
可以让你查看程序的内部结构,打印变量值,设置断点,单步调试源码,运行时修改变量值,路径跟踪,线程切换,显示汇编代码等.编译...VisualStudio2012VisualC++入门改进的
C+
weixin_39815435
·
2024-02-12 15:49
python中的p
dml
sel
C++11
:移动构造函数【写法+调用时机】【C++返回vector为什么不报错】
文章目录whatis移动构造函数?移动构造函数的实现的例子when移动构造函数?在C++98之前,没有移动构造函数,是怎么做的呢?后记whatis移动构造函数?构造函数string(string&&str)类似于复制构造函数,导致新创建的string为str的副本。但与复制构造函数不同的是,它不保证将str视为const,可修改源对象,还可能转让所有权而不做任何复制(对比来看,复制构造函数完整的保
BU冰糖雪梨里的梨PT
·
2024-02-12 14:30
C/C++/C#基础
c++
开发语言
关于C++的花括号初始化的方式解释及示例
花括号初始化列表的方式是从
C++11
开始引入的。这种初始化方式提供了许多优势,包括类型安全性、防止窄化转换以及统一的初始化语法,使得代码更加清晰和可读。
ttod_qzstudio
·
2024-02-12 08:26
UC++
C++
C# 线程与线程池的使用方法、注意事项
在C#中,线程和线程池是两种用于实现
多线程编程
的方式。线程用于执行并发任务,而线程池提供了一种更有效率的方式来管理和复用线程资源。
wangnaisheng
·
2024-02-12 06:56
C#
c#
41. C++static线程安全与初始化顺序
C++11
规定了局部static变量的线程安全,实现上应该是类似std::call_once的实现,我估计基本上就是基于cas的spin-lock,这里当然可以根据编译器不同有不同的实现。
九五一
·
2024-02-12 03:23
C++知识
c++
java
jvm
C++进阶——智能指针(
C++11
)
一、为什么要用智能指针简单来说,由于异常会使得程序的执行流乱跳,因此就会容易产生内存泄漏等问题。因此就要智能指针来解决了。二、智能指针原理简单来说,智能指针就是一个类,但我们使用时可以把这个类的对象像指针一样使用。而也正是因为智能指针是一个自定义类型的类,因此无论程序正常结束还是因为抛异常的原因跳到其他栈帧里去,只要程序离开了当前的栈帧,那么该栈帧里的所有自定义类型对象都会调用其析构函数,智能指针
淑女在哭泣
·
2024-02-11 21:32
c++
开发语言
C++进阶——
C++11
(part 1)
在
C++11
中,支持了用列表初始化来构造容器,因此我们都可以用“{}”来进行初始化容器。
淑女在哭泣
·
2024-02-11 21:32
c++
开发语言
C++进阶——
C++11
(lambda表达式)
一、lambda表达式1、为什么要用lambda表达式当我们要用sort来排序时,不可避免地要写比较器,因此我们每变一次比较规则就要重新一个仿函数。而这样就会让程序看起来非常的冗余。对于这种情况,我们可以用lambda表达式。2、什么是lambda表达式lambda表达式的语法是这样的:[capture-list](parameters)mutable->return-type{statement
淑女在哭泣
·
2024-02-11 21:32
c++
开发语言
C++入门——指针空值 nullptr (
C++11
支持)
目录一、背景二、nullptr三、注意事项一、背景在C语言里,我们给指针赋值一般都是用NULL的,对吧?但是,在下面这个场景就会产生问题了。voidf(int){cout<<"f(int)"<
淑女在哭泣
·
2024-02-11 21:01
c++
开发语言
C++进阶——
C++11
(右值引用)
一、右值VS左值官方定义是,可以直接取得到地址的对象就是左值,而不能取地址的对象就是右值。但按我的理解来说,如果这个对象是有名字(变量名)的,那就是左值;而除常量数组之外,如果没有名字的(比如临时对象),就是右值,同时也称“将亡值”。//左值inta;//变量vectorbuf;//对象"sss";//字符串常量//右值10;string();vector();//匿名对象二、右值引用(Type&
淑女在哭泣
·
2024-02-11 21:31
c++
开发语言
深入浅出Java多线程(四):线程状态
在现代软件开发中,
多线程编程
已经成为提升应用程序性能和响应能力的关键技术。Java作为一门支持
多线程编程
的主流语言,其内置的丰富并发库使得开发者能够轻松创建、管理和协调多个线程以实现高效的并发执行。
·
2024-02-11 21:54
C++11
智能指针使用
shared_ptr初始化:优先使用make_shared来构造智能指针make_shared(p)1):std::shared_ptrp(newint(1));2):std::shared_ptrp2=p;3):std::shared_ptrptr;//ptr未初始化使用reset对ptr进行初始化ptr.reset(newint());4):智能指针析构默认使用delete(并不是delete
chendongming
·
2024-02-11 19:41
深入浅出Java多线程(十一):AQS
在现代多核CPU环境中,
多线程编程
已成为提升系统性能和并发处理能力的关键手段。然而,当多个线程共享同一资源或访问临界区时,如何有效地控制线程间的执行顺序以保证数据一致性及避免竞态条件变得至
·
2024-02-11 18:21
深入浅出Java多线程(十):CAS
引言在
多线程编程
中,对共享资源的安全访问和同步控制是至关重要的。
·
2024-02-11 18:12
【踩坑指南】线程池使用不当的五个坑
线程池是Java
多线程编程
中的一个重要概念,它可以有效地管理和复用线程资源,提高系统的性能和稳定性。
·
2024-02-11 18:10
java后端spring
Java多线程之线程间的通信
1.线程间的通信线程间通信生产者+消费者通知等待唤醒机制
多线程编程
模板判断干活通知判断需使用while,以防止中断和虚假唤醒(见java.lang.Object的API)Athreadcanalsowakeupwithoutbeingnotified
夜小十五天
·
2024-02-11 18:12
c++11
之std::enable_shared_from_this入门
一、std::enable_shared_from_this应用场景在记录std::enable_shared_from_this之前,需要先看一下原始指针与shared_ptr在使用过程中一些问题。先看一代码段:#include#include#include#includeclassPoint;typedefstd::shared_ptrptr_point;classPoint{public:
YaoYuan9323
·
2024-02-11 17:46
boost
库与stl
c
11
内存管理
raw
pointer
boost
c++11
之再探std::enable_shared_from_this
之前一片关于std::enable_shared_from_this类的文章,只是简单探讨了一下这个类的使用方法与原因,经过不断的学习,对其又有了新的认识。为避免忘记所以来记录一下。一、它有啥作用这个类能够让shared_ptr管理的资源安全的生成其他shared_ptr引用,从而共享这个类的某一资源(就是malloc出来的对象)。实际也是延长了资源的生命周期。二、适用的业务场景实际上边已经提到了
YaoYuan9323
·
2024-02-11 17:16
网络编程
boost
库与stl
boost智能指针
异步调用
c++回调
smart
ptr
c++11
正则表达式(一)——匹配模式(pattern)
一、作用pattern是一个c++字符串,它作用是给出一匹配规则,去检测给定字符串是否具备这种拼接规则。二、模式字符串的语法规则需要插入一句题外话,在特殊元字符中会用到\,对于c/c++而言它是个特殊字符,若我们需要一个“斜杠"时候需要在其前面加一个\,即应该写为\\。1>开始与结尾位置声明1.1^表示字符串的开始如"^yao",表示以“yao”开始的的字符串。“yaopanyuan”,“yaoi
YaoYuan9323
·
2024-02-11 17:45
boost
库与stl
c++11
regex
smatch
regular
expression
c++11
之weak_ptr剖析
一、概述引用《c++primer》的话:weak_ptr是一种不控制所指向对象生存期的智能指针,它指向由一个shared_ptr管理的对象。将一个weak_ptr绑定到shared_ptr不会改变shared_ptr的引用计数【0】。一旦最后一个指向对象的shared_ptr被销毁,对象就会被释放。即使有weak_ptr指向对象,对象也会被释放。weak_ptr与shared_ptr继承同一个基类
YaoYuan9323
·
2024-02-11 17:45
boost
库与stl
weak_ptr
Java多线程与线程池技术
一、序言Java
多线程编程
线程池被广泛使用,甚至成为了标配。
赛先生和泰先生
·
2024-02-11 13:35
Effective Modern C++-第一章 类型推断
发展历史c++98:只有functiontemplate有类型推断
c++11
:增加了auto和decltypec++14:extendstheusagecontextsinwhichautoanddecltypemaybeemployed
山幺幺
·
2024-02-11 10:19
.NET高级面试指南专题六【线程安全】5种方法解决线程安全问题
前言
多线程编程
相对于单线程会出现一个特有的问题,就是线程安全的问题。所谓的线程安全,就是如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。
搬砖的诗人Z
·
2024-02-11 09:48
.NET高级面试指南
.net
面试
安全
C++入门篇(3)auto关键字、内联函数、nullptr关键字
目录1.auto关键字(
C++11
)1.1typedef取别名的缺陷1.2auto1.3auto使用细则1.3.1auto与指针引用结合使用1.3.2同一行定义多个变量1.4auto不能推导的场景1.4.1auto
roboko_
·
2024-02-11 06:59
C++基础语法
c++
开发语言
几种智能指针的原理/简单实现
详细代码放在了:AC/Algorithms/STL/smartpointers/接口说明auto_ptr之后在
C++11
引入了移动语义,所以后面新出的三个智能指针实现和auto_ptr有比较明显区别auto_ptrhttp
devilisdevil
·
2024-02-11 02:59
【
C++11
】lambda表达式 的定义、性质和用法
定义Lambda表达式是
C++11
引入的一种函数对象的匿名表示方法。它可以用于定义轻量级的、临时的、内联的函数对象,通常用于函数式编程的场景。
卜及中
·
2024-02-10 15:14
C++进阶
c++
java
开发语言
STL - map 和 set
1、关联式容器vector、list、deque、forward_list(
C++11
)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身关联式容器也是用来存储数据的,与序列式容器不同的是
ketil27
·
2024-02-10 14:39
c++
开发语言
C++11
目录同一列表初始化{}初始化std::initializer_listautodecltypenullptr范围forSTL中的变化右值引用和移动语义左值引用和右值引用左值引用和右值引用比较右值引用使用场景和意义完美转发万能引用新的类功能强制生成默认函数的关键字default禁止生成默认函数的关键字delete可变参数模板lambda表达式lambda表达式语法捕捉列表包装器bindC++11中的
微yu
·
2024-02-10 13:36
C++
c++
开发语言
C++11
——智能指针
0.前言在C++异常处理时,当程序抛出异常时,程序会直接跳转到最近的捕获区域进行异常的处理,这种处理方式保证了程序的不崩溃,只针对一个区域内的某种错误进行处理。这样的代码看似很正常,但往往会忽略掉某些内存的处理。例如我们在某个函数调用前向内存申请了部分空间,本来内存的释放逻辑是在函数调用之后进行完成,但是如果函数内部出现异常错误,函数将直接跳转,申请的内存无法释放,就造成了内存泄漏的风险。1.为什
oywLearning
·
2024-02-10 13:36
C++
c++
开发语言
算法
C++——智能指针——auto_ptr、shared_ptr、unique_ptr
C++11
中提供了三种智能指针,使用这些智能指针时需要引用头文件:·shared_ptr;·unique_ptr;·auto_ptr;这三个智能指针模板都定义了类似指针的对象,可意义将new获得(直接或者间接
勿在浮沙築高臺
·
2024-02-10 13:05
C++
c++
C++ 11新特性之可变参数模板
概述随着
C++11
标准的发布,C++语言获得了许多强大的新特性,其中一项显著提升灵活性和实用性的创新便是可变参数模板。
hope_wisdom
·
2024-02-10 13:48
C++
11新特性
c++
开发语言
C++
11
可变参数模板
C++中的lambda表达式和函数对象
lambda表达式是
C++11
中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读。
燕山暮雪
·
2024-02-10 12:13
C++
lambda
函数指针
函数对象
函数包装器
函数适配器
C++11
中的auto陷阱
作者:
[email protected]
++11中引入的auto关键字自动推导类型特性,可能是最方便也最容易理解的特性了。然而,即使是这个简单特性,也有陷阱,需要我们使用时注意。1、引用类型被推导为非引用类型例如:foo(void*arg){if(arg){autobig=*static_cast(arg);...}}上面的代码中big会被推导为MyBigClass类型,而不是MyBigClass&类型
DLite
·
2024-02-09 23:58
C/C++编程
c++
iterator
string
c
【C/C++ 14】
C++11
智能指针
目录一、智能指针概述二、auto_ptr三、unique_ptr四、shared_ptr五、weak_ptr六、定制删除器一、智能指针概述C++在进行异常处理的时候,若在new和delete之间或在lock和unlock之间就抛出异常了,这样会导致内存泄漏或死锁问题。为了解决上述问题,于是就引入了智能指针(RAII)的概念。RAII(ResourceAcquisitionIsInitializat
AllinTome
·
2024-02-09 19:34
C/C++
c++
开发语言
C++进阶(十一)
C++11
北尘_:个人主页个人专栏:《Linux操作系统》《经典算法试题》《C++》《数据结构与算法》☀️走在路上,不忘来时的初心文章目录一、
C++11
简介二、统一的列表初始化1、{}初始化2、std::initializer_list
北尘_
·
2024-02-09 17:02
C++
c++
java
开发语言
设计模式-单例模式(懒汉+饿汉+线程安全模式)
目录单例模式懒汉模式饿汉模式线程安全的懒汉模式双重检查锁定(过时,错误的版本)
C++11
特有的线程安全懒汉模式单例模式单例模式可以说是23种设计模式中最为简单的一种设计模式类中只有唯一一个实例并且是私有化的
WE xiye
·
2024-02-09 15:39
基础知识点
设计模式
单例模式
C++11
本篇将介绍
C++11
增加的语法种较为实用的部分统一的列表初始化{}初始化c++98中,标准允许使用花括号{}对数组或者结构体元素进行统一的列表初始值设定:structA{int_a;int_b;};intmain
Artiel
·
2024-02-09 15:09
C++
c++
C#系列-多线程(4)
在C#中,
多线程编程
主要涉及使用System.Threading命名空间下的类和接口来创建和管理线程。
管理大亨
·
2024-02-09 14:59
C#系列
c#
数据库
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他