07 2019 档案
摘要:1 #include <iostream> 2 using namespace std; 3 4 //定义一个宏开关 5 #define __SWITCH__ 6 7 8 int main() 9 { 10 #ifdef __SWITCH__ 11 //如果定义了__SWITCH__开则执行下列代码
阅读全文
摘要:一、std::atomic续谈 上一章说到std::atomic是针对一个变量的,这里补充一下针对的变量操作一般是++,+=,--,&=等等运算 。以下这种不可取:a=a+1; 二、std::async与std::std::thread的区别 1.std::async第一个参数为std::lauch
阅读全文
摘要:shared_futrue和futrue_status的用法 shared_futrue是一个类模板,类似于futrue,不同的是它的成员函数get()可以使用多次,因为是复制数据,而futrue的get()则是转移数据,使用一次之后,就失效了。 futrue_status是一个枚举类型,用来判断某
阅读全文
摘要:一、std::async和std::future的用法 std::async是一个函数模板,std::future是一个类模板 三、std::promise的用法 std::promise是一个类模板,能够在某个线程中给它赋值,然后可以在其他线程中,在将来的某个时刻,可以把这个值取出来。 std::
阅读全文
摘要:condition_variable、wait、notifiy_one、notify_all的使用方式 condition_variable:条件变量 wait:等待被唤醒 notify_one:随机唤醒一个线程 notify_all:唤醒所有线程 下列代码是三个线程轮流打印数字
阅读全文
摘要:一、互斥量 1.1 互斥量的基本概念 简单来说,一个锁就是一个互斥量,既然是锁,就有两种状态:加锁和解锁,通过加锁>>>操作共享数据>>>解锁的方式,实现保护共享数据。 1.2 互斥量的用法 作用:在给某段代码加锁后,如果其他其他线程需要先等带该段代码执行完,然后解锁后才能继续执行。 头文件 :#i
阅读全文
摘要:一、MySQL常用基本数据类型 1.1 数值 INT(4) ,TINYINT(1),FLOAT(4),DOUBLE(8) // 括号内是它们所占的字节数 1.2 日期和时间 DATE,TIME,DATETIME,YEAR, TIMESTAMP 1、当字段定义为timestamp,表示该字段在插入和更
阅读全文
摘要:一、创建多个子线程 前面三章讲的例子都是只有一个子线程和主线程,然而实际中有多个子线程。那么下面介绍如何创建多个子线程。 运行结果 可以看出,虽然所有子线程执行完了才到主线程,但各个子线程的执行期间是乱的,没有谁等谁。那么就会引发一个数据共享的问题。 二、数据共享问题 如果多个线程之间知识单纯的读取
阅读全文
摘要:一、动态链接库(DLL) 动态链接库提供了一种方法,使进程可以调用不属于其执行代码的函数。函数的可执行代码位于一个.dll文件中,该文件包含一个或多个已被编译、链接并使用它们的进程分开存储的函数。 优点: 1.扩展了 应用程序的特性 2.可以使用多种编程语言来编写 3.简化项目的管理 二、依赖项 当
阅读全文
摘要:一、detach()大坑 上一篇随笔(二)中提到detach()是用来分离主线程和子线程的,那么需要考虑一个问题,就是如果主线程跑完了,主线程中定义的变量就会被销毁(释放内存),这时回收变量仍作为参数传入子线程,那么就会出现问题,下面用一个例子详细说明。 由监视图可知,实参n和形参a的地址并不同,所
阅读全文
摘要:先总结延申以下前面(一)所讲的内容。 主线程从main()函数开始执行,我们创建的线程也需要一个函数作为入口开始执行,所以第一步先初始化函数。 整个进程是否执行完毕的标志是主线程是否执行完毕,一般情况下,如果想要保持子线程的运行状态,那么要主线程保持运行。 本章从两方面介绍创建线程的方法: 一、用函
阅读全文
摘要:下面分三个方面多线程技术的必须掌握一些基本知识。 1.进程 2.线程 3.并发 (1)进程 一个可执行程序运行起来了,即为创建了一个进程。如在电脑上打开了word,就创建了一个word进程,打开QQ,又创建了一个QQ进程。 可以在任务管理器中 >用户中查看进程。 不同的进程之间的通信方式有:管道、消
阅读全文
摘要:1.纯虚函数 形式:virtual 函数原型=0; 定义:在定义一个表达抽象概念的基类时,有时无法给出某些函数的具体实现方法,就可以将这些函数声明为纯虚函数。 特点:无具体实现方法。 2.抽象类 定义:声明了纯虚函数的类,都成为抽象类。 主要特点:抽象类只能作为基类来派生新类,不能声明抽象类的对象。
阅读全文
摘要:现在把以前学的数据结构知识再理一遍,上机测试。首先最重要的是链表。在我看来,链表其实就是由一个个结构体连接而成的,创建一个链表有多种方式,头插法,尾插法等,这里采用的是尾插法。表述有不对的地方,欢迎更正,一起进步。 思路如下: 1.链表的创建 首先,采用尾插法创建一个动态链表,并返回改链表的头结点。
阅读全文

浙公网安备 33010602011771号