前言 回顾前面: "多线程三分钟就可以入个门了!" "Thread源码剖析" "多线程基础必要知识点!看了学习多线程事半功倍" "Java锁机制了解一下" 只有光头才能变强! 本来我是打算在这章节中写Lock的子类实现的,但看到了AQS的这么一个概念, 可以说Lock的子类实现都是基于AQS的 。 ...
分类:
其他好文 时间:
2018-04-25 22:11:24
阅读次数:
200
前言 不小心就鸽了几天没有更新了,这个星期回家咯。在学校的日子要努力一点才行! 只有光头才能变强 回顾前面: "多线程三分钟就可以入个门了!" "Thread源码剖析" 本文章的知识主要参考《Java并发编程实战》这本书的前4章,这本书的前4章都是讲解并发的基础的。要是能好好理解这些基础,那么我们往 ...
分类:
编程语言 时间:
2018-04-23 18:48:03
阅读次数:
226
1、同步和异步 比如执行两个方法,同步是指第1个方法执行完返回结果再继续执行第2个方法;而异步是指方法执行不等其结果,另一个方法相继执行,所以结果返回有延迟(ajax调用) 同步特点:保证方法有序的执行,缺点响应慢 异步特点:响应速度快,但不能保证结果有序的执行,如方法1执行时,结果还未返回,方法2 ...
分类:
编程语言 时间:
2018-04-14 11:18:13
阅读次数:
130
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点) Java多线程面试问题 1. 进程和线程之间有什么不同? 一个进程是一个独立(self con ...
分类:
编程语言 时间:
2018-04-07 21:09:38
阅读次数:
281
一、什么是线程 线程是进程内的执行单元。 二、线程的基本操作 2.1 状态与操作 2.2 新建线程 2.3 终止线程 2.4 中断线程 代码 sleep代码 2.5 挂起和继续执行线程 suspend()不会释放锁 如果加锁发生在resume()之前,则发生死锁 这两个就法不推荐使用 模拟死锁: 分 ...
分类:
编程语言 时间:
2018-04-05 11:41:16
阅读次数:
272
互斥锁 互斥算法避免多个线程同时访问共享资源。这会避免数据竞争,并提供线程间的同步支持。定义于头文件 <mutex> 互斥锁有可重入、不可重入之分。C++标准库中用 mutex 表示不可重入的互斥锁,用 recursive_mutex 表示可重入的互斥锁。为这两个类增加根据时间来阻塞线程的能力,就又 ...
分类:
编程语言 时间:
2018-03-11 00:09:54
阅读次数:
186
std::this_thread::yield: 定义于头文件 <thread> 函数原型:void yield() noexcept; 此函数的准确性为依赖于实现,特别是使用中的 OS 调度器机制和系统状态。例如,先进先出实时调度器( Linux 的 SCHED_FIFO )将悬挂当前线程并将它放 ...
分类:
编程语言 时间:
2018-03-10 16:10:39
阅读次数:
285
std::thread 在 <thread> 头文件中声明,因此使用 std::thread 时需要包含 <thread> 头文件。 thread 构造函数: (1). 默认构造函数,创建一个空的 thread 执行对象。 (2). 初始化构造函数,创建一个 thread对象,该 thread 对象 ...
分类:
编程语言 时间:
2018-03-07 01:00:31
阅读次数:
166
1.并发与多线程简介 最初计算机是单任务的,后来发展到可以并行运行多任务(进程),由操作系统来调度,每个任务可以获得一个时间片。多任务下,每个任务在使用系统资源结束后需要释放资源给其他任务。 后来,同一个任务内部发展出多个线程并发操作,会对相同的内存空间进行并发读写操作。更现代的计算机伴随着多核CP ...
分类:
编程语言 时间:
2018-02-13 20:32:03
阅读次数:
163
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点) Java多线程面试问题 1. 进程和线程之间有什么不同? 一个进程是一个独立(self con ...
分类:
编程语言 时间:
2018-01-30 16:38:15
阅读次数:
168