码迷,mamicode.com
首页 > 编程语言 > 日排行
多线程编程之基础概念
一、什么是线程 线程(thread)是进程中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基 ...
分类:编程语言   时间:2017-12-08 20:48:41    阅读次数:183
多线程编程之Linux环境下的多线程(二)
上一篇文章中主要讲解了Linux环境下多线程的基本概念和特性,本文将说明Linux环境下多线程的同步方式。 在《UNIX环境高级编程》第二版的“第11章 线程”中,提到了类UNIX系统中的三种基本的同步机制:互斥、读写锁、条件变量。下面分别针对这三种机制进行说明: 一、线程互斥 互斥意味着具有“排它 ...
分类:编程语言   时间:2017-12-08 20:49:33    阅读次数:197
多线程编程之自旋锁
一、什么是自旋锁 一直以为自旋锁也是用于多线程互斥的一种锁,原来不是! 自旋锁是专为防止多处理器并发(实现保护共享资源)而引入的一种锁机制。自旋锁与互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个保持者,也就说,在任何时刻最多只能有一个执行单 ...
分类:编程语言   时间:2017-12-08 20:54:03    阅读次数:176
多线程编程之数据访问互斥
在多线程存在的环境中,除了堆栈中的临时数据之外,所有的数据都是共享的。如果我们需要线程之间正确地运行,那么务必需要保证公共数据的执行和计算是正确的。简单一点说,就是保证数据在执行的时候必须是互斥的。否则,如果两个或者多个线程在同一时刻对数据进行了操作,那么后果是不可想象的。 保证多线程之间的数据访问 ...
分类:编程语言   时间:2017-12-08 20:55:40    阅读次数:136
Jsp获取Java的对象(JavaBean)
Jsp获取Java的对象(JavaBean) Java代码片段: Jsp代码片段: ...
分类:编程语言   时间:2017-12-08 20:55:56    阅读次数:201
python的测试
单元测试:用于核实函数的一些方面没有问题。 测试用例:是一组单元测试,用来核实函数在各种情形下都符合要求。 全覆盖测试:包含一整套单元测试,涵盖了各种可能的函数使用方式。 python中的模块unittest是模块测试单元。 测试中的断言方法: assertEqual(a,b) 核实a是否等于b a ...
分类:编程语言   时间:2017-12-08 20:56:15    阅读次数:141
十大算法
本文内容取自 网页 一、1946 蒙特卡洛方法 [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metropolis a ...
分类:编程语言   时间:2017-12-08 20:57:27    阅读次数:201
Java编程思想(四、控制执行流程)
Java使用了C的所有流程控制语句。涉及的关键字包括if-else、while、do-while、for、return、break以及选择语句switch。然而,在java中,并不支持goto语句。但仍然可以进行类型goto那样的跳转,但比起典型的goto,有了很多限制。 1、true和false。 ...
分类:编程语言   时间:2017-12-08 21:00:17    阅读次数:166
多线程编程之生产者消费者问题
生产者-消费者问题(Producer-consumer problem),也称作有限缓冲问题(Bounded-buffer problem),是多线程领域的一个经典问题,可以描述为:两个或者更多个线程共享同一个缓冲区,其中一个或多个作为“生产者”会不断地向缓冲区中添加数据,另外的一个或者多个作为“消 ...
分类:编程语言   时间:2017-12-08 21:00:46    阅读次数:200
多线程编程之Windows环境下创建新线程
在 Win32 API 中,创建线程的基本函数是 CreateThread,而 _beginthread(ex) 是C++ 运行库的函数。为什么要有两个呢?因为C++ 运行库里面有一些函数使用了全局量,如果使用 CreateThread 的情况下使用这些C++ 运行库的函数,就会出现不安全的问题。而 ...
分类:编程语言   时间:2017-12-08 21:02:14    阅读次数:207
go语言学习--基础篇(2)
一,go的数据类型和操作符 1,布尔类型 go语言中bool 类型只有两个值:true和false;不像其它语言中0和1 也可以表示布尔类型,这在go语言中是不允许的,另外定义一个bool 类型,默认值为false a. var b bool (默认为false) b. var b bool = t ...
分类:编程语言   时间:2017-12-08 21:02:49    阅读次数:258
多线程编程之优先级翻转问题
一、什么是优先级翻转问题 所谓优先级翻转问题(Priority Inversion)即当一个高优先级任务通过信号量机制访问共享资源时,该信号量已被一低优先级任务占有,而这个低优先级任务在访问共享资源时可能又被其它一些中等优先级任务抢先,因此造成高优先级任务被许多具有较低优先级任务阻塞,实时性难以得到 ...
分类:编程语言   时间:2017-12-08 21:03:02    阅读次数:235
多线程编程之无锁队列
关于无锁队列的概念与实现,可以参考博文《无锁队列的实现》,主要涉及到的知识点包括CAS原子操作、无锁队列的链表实现、无锁队列的数组实现以及ABA问题。 下面借鉴了《多线程的那点儿事(之无锁队列)》的代码,说明两个线程(一个添加一个读取数据)之间的无锁队列,可以不借助线程互斥方法就能够达到并行效果。代 ...
分类:编程语言   时间:2017-12-08 21:03:28    阅读次数:227
java 8中新的日期和时间API
java 8中新的日期和时间API 使用LocalDate和LocalTime LocalDate的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息.另外,它也不附带任何与时区相关的信息 LocalDate实例提供了多种方法来读取常用的值,比如年份,月份,星期几等 你还可以通过传递一 ...
分类:编程语言   时间:2017-12-08 21:03:48    阅读次数:270
多线程编程之嵌套锁
嵌套锁只是针对一种特殊情况而引申出来的锁应用形式而已。 参考下面这种应用场合: 可以发现,sub_func()和data_process()都使用了相同的一把锁hLock。很明显,如果hLock不是信号量,那么sub_func()被data_process()调用之后将永远无法获取这把锁。怎么办呢? ...
分类:编程语言   时间:2017-12-08 21:04:18    阅读次数:263
python 爬虫 User-Agent
``` python USER_AGENTS = [ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1", "Mozilla/5.0 (... ...
分类:编程语言   时间:2017-12-08 21:05:27    阅读次数:1122
多线程编程之原子锁
在《多线程编程之数据访问互斥》一文中简单介绍了原子锁,这里再详细说一下原子锁的概念和用途。 (1)简单数据操作 如果在一个多线程环境下对某个变量进行简单数学运算或者逻辑运算,那么就应该使用原子锁操作。因为,使用临界区、互斥量等线程互斥方式将涉及到很多操作系统调用和函数调用等,效率肯定不如原子操作高。 ...
分类:编程语言   时间:2017-12-08 21:05:41    阅读次数:250
Spring Cloud 之 Feign
新建Spring Boot工程,命名为feign 1.pom.xml添加依赖 2.将application.properties重命名为application.yml,并且添加配置 3.启动类代码 添加@EnableFeignClients注解 4.新建一个Feign的接口 5.新建一个Contro ...
分类:编程语言   时间:2017-12-08 21:06:11    阅读次数:244
【java提高】---HashMap解析(一)
HashMap解析(一) 平时一直再用hashmap并没有稍微深入的去了解它,自己花点时间想往里面在深入一点,发现它比arraylist难理解很多,好多东西目前还不太能理解 等以后自己知识更加丰富在过来理解。 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组:数组存储区间是 ...
分类:编程语言   时间:2017-12-08 21:06:24    阅读次数:228
Yii2 数组助手类arrayHelper
数组助手类 ArrayHelper 1、什么是数组助手类 Yii 数组助手类提供了额外的静态方法,让你更高效的处理数组。 a、获取值(getValue) 获取 name 的值 PHP 方法: ArrayHelper 方法: 2、获取列(getColumn) 从多维数组或者对象数组中获取某列的值 Ar ...
分类:编程语言   时间:2017-12-08 21:06:46    阅读次数:725
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!