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
多线程系列
Java
多线程系列
--“JUC集合”04之 ConcurrentHashMap
概要 本章是JUC系列的ConcurrentHashMap篇。内容包括:ConcurrentHashMap介绍ConcurrentHashMap原理和数据结构ConcurrentHashMap函数列表ConcurrentHashMap源码分析(JDK1.7.0_40版本)ConcurrentHashMap示例 转载请注明出处:http://www.cnblogs.com/skywang123
·
2015-10-27 13:02
Java
多线程系列
--“JUC集合”02之 CopyOnWriteArrayList
概要 本章是"JUC系列"的CopyOnWriteArrayList篇。接下来,会先对CopyOnWriteArrayList进行基本介绍,然后再说明它的原理,接着通过代码去分析,最后通过示例更进一步的了解CopyOnWriteArrayList。内容包括:CopyOnWriteArrayList介绍CopyOnWriteArrayList原理和数据结构Cop
·
2015-10-27 13:01
Java
多线程系列
--“JUC集合”03之 CopyOnWriteArraySet
概要 本章是JUC系列中的CopyOnWriteArraySet篇。接下来,会先对CopyOnWriteArraySet进行基本介绍,然后再说明它的原理,接着通过代码去分析,最后通过示例更进一步的了解CopyOnWriteArraySet。内容包括:CopyOnWriteArraySet介绍CopyOnWriteArraySet原理和数据结构CopyOnWriteArraySet
·
2015-10-27 13:01
java多线程
Java
多线程系列
--“JUC锁”05之 非公平锁
内容包括:参考代码获取非公平锁(基于JDK1.7.0_40)释放非公平锁(基于JDK1.7.0_40)关于锁的数据结构请参考"Java
多线程系列
--“JUC锁”03之 公平锁(一)
·
2015-10-27 13:00
java多线程
Java
多线程系列
--“JUC锁”04之 公平锁(二)
内容包括:参考代码释放公平锁(基于JDK1.7.0_40) “公平锁”的获取过程请参考“Java
多线程系列
--“JUC锁”03之 公平锁(一)”,锁的使用示例请参考“Java
多线程系列
--“JUC锁”
·
2015-10-27 13:58
java多线程
Java
多线程系列
--“JUC锁”03之 公平锁(一)
概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40) 一. tryAcquire() 二. addWaiter() 三. acquireQueued() 四. selfInterrupt()“公平锁”的释放
·
2015-10-27 13:56
java多线程
Java
多线程系列
--“基础篇”08之 join()
概要 本章,会对Thread中join()方法进行介绍。涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479275.html 1. join()介绍 join() 定义在Thread.java中
·
2015-10-27 13:56
java多线程
多线程系列
(3)任务Task
虽然使用线程池ThreadPool让我们使用多线程变得容易,但是因为是由系统来分配的,如果想对线程做精细的控制就不太容易了,比如某个线程结束后执行一个回调方法。恰好Task可以实现这样的需求。这篇文章我从以下几点对Task进行总结。 认识Task Task的用法 认识Task Task类在命名空间System.Threading.Tasks下,通过Task的Factory返回
·
2015-10-27 13:59
task
多线程系列
(1)多线程基础和Thread
因为现项目中有用到多线程和并发的知识,所以打算近期补习一下多线程相关的内容。第一篇文章从最基础的开始,就是如何开启一个线程,如何启动线程和阻塞线程等,这篇文章分以下几点进行总结。 多线程初印象 多线程的使用场景 线程的启动,挂起和终止 一个简单的多线程实例 多线程初印象 首先通过一张图来了解一下进程Process,应用程序域AppDomain和线程Thread之间
·
2015-10-27 13:58
thread
多线程系列
(2)线程池ThreadPool
上一篇文章我们总结了多线程最基础的知识点Thread,我们知道了如何开启一个新的异步线程去做一些事情。可是当我们要开启很多线程的时候,如果仍然使用Thread我们需要去管理每一个线程的启动,挂起和终止,显然是很麻烦的一件事情。还好.net framework为我们提供了线程池ThreadPool来帮助我们来管理这些线程,这样我们就不再需要手动地去终止这些线程。这一篇文章就让我们来学习一下线程池
·
2015-10-27 13:57
ThreadPool
windows多线程同步互斥--总结
我的windows
多线程系列
文章: windows多线程--原子操作 windows多线程同步--事件 windows多线程同步--互斥量 windows多线程同步--临界区 windows多线程同步
·
2015-10-27 11:33
windows
C#
多线程系列
之Mutex使用
互斥量是一个内核对象,它用来确保一个线程独占一个资源的访问,并且互斥量可以用于不同进程中的线程互斥访问资源。 我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车。而线程与C# Mutex对象的关系也正是如此,线程使用Mutex.WaitOne()方法等待C# Mutex对象被释放,如果它等待的C# Mute
·
2015-10-23 08:59
多线程
C#
多线程系列
之Semaphore使用
Semaphore,即信号量的意思。是操作系统原始提供的内核同步对象。 Semaphore semaphoreAcceptedClients = new Semaphore(2, 3,"Semaphore1"); 解释一下意思: 第一个参数为:initialCount ,意指初始数量。Semaphore这个对象的使用是这么回事:在initialCoun设置为0的时候,
·
2015-10-23 08:59
Semaphore
【
多线程系列
---AutoResetEvent和ManualResetEvent】
1、多线程AutoResetEvent和ManualResetEvent AutoResetEvent 就像一个十字转门,每次只允许一个取消阻塞。 static AutoResetEvent auto = new AutoResetEvent( false);  
·
2015-10-21 10:16
event
【
多线程系列
--ManualResetEvent2】
1、转:http://www.cnblogs.com/fangzheng/archive/2010/06/07/1750205.html 航班数据获取系统的使命是:在每天的指定时刻去网站抓取数据。当系统开始运行后,将无人看管。因此系统的关键在于两点:一是由于数据量巨大,需要开10个线程去获取数据。二是线程要循环获取数据,保证每一天的指定时刻都会开始获取数据。关键点1在文章lock在多线程中的应
·
2015-10-21 10:16
event
多线程系列
三——java线程间通信
子线程首先循环10次,接着主线程循环100次,然后再回到子线程循环10次,接着再回到主线程循环100次,如此循环50次,程序实现:publicclassTraditionalThreadCommunication{ publicstaticvoidmain(String[]args){ Businessbusiness=newBusiness(); newThread( newRunnable(
lyg673770712
·
2015-09-30 22:00
多线程系列
二——java线程间的互斥与同步
“线程互斥是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。” 我们可以用银行转账的例子加以说明:1、甲乙两用户对银行同一账户进行操作,余额为1000元;2、甲用户将银行余额1000元读取到本地,进行取款操作。在进行取款过程中,乙用户向银行账户进行存款300元操作并将账户余额更新,而此时甲用户进行取款是建立在原始10
lyg673770712
·
2015-09-30 22:00
多线程系列
一——何为线程与java中线程的创建
线程的概念 线程:“程序中一个单一的顺序控制流程”,这种官方的解释可能不太容易理解,换句话说线程其实是程序的一条执行的路线。而我们所说的多线程,则是程序内部有多条执行路线同时执行的一种机制。 在我们认识多线程之前,我们所写的代码只能是一行行代码的去顺序执行(即使是循环也不可能同时执行两行代码),而有了多线程机制则不同了,我们可以控制CPU“同时”执行两个及以上的功能块代
lyg673770712
·
2015-09-30 15:00
【Java并发编程实战】—–“J.U.C”:ReentrantLock之二lock方法分析
首先我们来看ReentrantLock的结构【图来自Java
多线程系列
–“JUC锁”03之公平锁(一)】:从上图我们可以看到,Reentr
chenssy
·
2015-08-19 15:36
Java并发编程实战
【Java并发编程实战】—–“J.U.C”:ReentrantLock之二lock方法分析
首先我们来看ReentrantLock的结构【图来自Java
多线程系列
–“JUC锁”03之公平锁(一)】:从上图我们可以看到,Reentr
chenssy
·
2015-08-19 15:00
java多线程
java并发
Java并发实战
[置顶] C#
多线程系列
个人感觉C#的编程,除了对算法和类库的使用以外,达到一定的水平以后,多线程的使用将会成为一个很大的瓶颈。所以重新花费时间读了一本书:《.net4.0面向对象编程漫谈(应用篇)》里面关于多线程的描述。自己做了一个读书笔记,把多线程部分的要点进行了梳理,并且适当的加上了一些自己的测试和理解。整理出来,作为一个摘要,以便自己和同事们拿出来学习和使用。同时希望各位博友进行论证,大家一起学习和进步。本篇作为
aofengdaxia
·
2015-07-06 11:00
C#多线程
C#
多线程系列
(一)
1、线程概念进程(process)是一块包含某些资源的内存区域,操作系统利用进程把它的工作划分为功能单元。而线程是进程的一个实体,是CPU调度和分派的基本单元,是比进程更小的能独立运行的基本单元。线程自己并不拥有系统资源,只是拥有在运行中必不可少的极少资源(如程序计算器,一组寄存器和栈等),但是它与同属一个进程的其他线程共享进程所拥有的全部资源。应用程序中,一个程序至少有一个进程,一个进程至少有一
乐-张蒙
·
2015-07-04 17:00
Java
多线程系列
--synchronized关键字
概要 synchronized(this)中的this是指“当前的类对象”,即synchronized(this)所在的类对应的当前对象。它的作用是获取“当前对象的同步锁”。 1. synchronized原理 2. synchronized基本规则 3. synchronized方法 和 synchronized代码块 4. 实例锁 和 全局锁 1. synchronized原理
weinan
·
2015-06-26 13:00
java多线程
Java
多线程系列
--Thread和Runnable
概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable。 之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解。本章内容包括: Thread和Runnable的简介 Thread和Runnable的异同点 Thre
weinan
·
2015-06-26 13:00
多线程系列
之生产者和消费者问题
生产者消费者问题是一个著名的线程同步问题,该问题描述如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,显然生产者和消费者之间必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经放入产品的缓冲区中再次投放产
·
2015-05-26 15:00
多线程
Java
多线程系列
--“基础篇”01之 基本概念
多线程是Java中不可避免的一个重要主体。从本章开始,我们将展开对多线程的学习。接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(),notify()等接口;Thread类中的接口;synchronized关键字。注:JUC包是指,Java.util.concurrent包,它是由Java大师DougLea完成并在JDK1.5版
乔老爷
·
2015-05-09 11:00
java 非公平锁
在前面的“Java
多线程系列
–“JUC锁”03之公
Coding-lover
·
2015-04-22 17:29
java
并发
Java
多线程系列
---Runnable和Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限,下面看例子:packageorg.thread.demo;classMyThreadextendsThread{private
行走在路上
·
2015-01-16 11:00
线程相关资料
周金桥的博客中的
多线程系列
:(1)C#多线程编程(1):线程的启动http://blog.csdn.net/zhoufoxcn/article/details/4402999(2)多线程编程(2):线程的同步
jokers9221
·
2014-10-22 12:00
C#
多线程系列
之Semaphore使用
Semaphore,即信号量的意思。是操作系统原始提供的内核同步对象。SemaphoresemaphoreAcceptedClients=newSemaphore(2,3,"Semaphore1");解释一下意思:第一个参数为:initialCount,意指初始数量。Semaphore这个对象的使用是这么回事:在initialCoun设置为0的时候,WaitOne()方法会直接阻塞。至饿到它的Re
weixin_30684743
·
2014-08-29 16:00
c#
操作系统
多线程系列
(4)使用多线程的安全问题
在使用多线程的时候,往往存在一定的公共数据,为了避免多个线程同时操作同一数据,我们需要为线程加锁。 加锁的原理: 每一个引用类型的对象都有一个同步索引块,指示当前使用该对象的线程数,每个线程执行到Lock语句块的时候就会判断当前锁定项(这里是this,当前窗体对象)的同步索引块是否等于0(即没有线程在访问该变量),如果等于0则进入执行块,首先将同步索引块的索引加1,表示当前多了一个线程使用
·
2014-06-19 17:00
多线程
Java
多线程系列
--“JUC线程池”05之 线程池原理(四)
概要 本章介绍线程池的拒绝策略。内容包括:拒绝策略介绍拒绝策略对比和示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3512947.html 拒绝策略介绍 线程池的拒绝策略,是指当任务添加到线程池中被拒绝,而采取的处理措施。当任务添加到线程池中之所以被拒绝,可能是由于:第一,线程池异常关闭。第二,任务数量超过
·
2014-02-11 09:00
java多线程
iOS
多线程系列
(3)
在2011的WWDC上,苹果推出了GCD,从此多线程增加了一种新的方法。GCD要求运行在iOS4.0版本以上或者OSX10.6版本以上。GCD是GrandCentralDispatch的缩写,是一组用于实现并发编程的C接口。GCD是基于Objective-C的Block的特性开发的,基本的业务逻辑和NSOperation很像。都是添加一个任务到一个队列,由系统来负责线程的生成和调度。因为直
sakulafly
·
2014-02-03 23:00
多线程
ios
iOS
多线程系列
(2)
前面了iOS的NSThread方法来实现多线程,这篇就简单的讲讲NSOperation和NSOperationQueue。 NSOperation是一个抽象类,定义一个要执行的任务。NSOperationQueue是一个任务队列,帮助对NSOperation所定义的任务进行管理。当任务加入到任务队列后,会自动按照优先级和依赖关系自动运行。 NSOperation是不能直接使用的,我
sakulafly
·
2014-01-29 21:00
多线程
ios
Java
多线程系列
--“JUC集合”04之 ConcurrentHashMap
本章是JUC系列的ConcurrentHashMap篇。内容包括:转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498537.htmlConcurrentHashMap介绍ConcurrentHashMap是线程安全的哈希表。HashMap,Hashtable,ConcurrentHashMap之间的关联如下:HashMap是非线程安全的哈希表,常用
ghotsl
·
2014-01-29 20:57
iOS
多线程系列
(1)
多线程这个概念的接触是蛮早的时候了,当时还是单核单CPU的时候,Thread这个概念已经出现了,当时比较流行的方案是时间片轮流,线程可以优先级抢占,但一次只能运行一个线程,实际上多线程是不能真正并行处理的,只是宏观上表现的多线程在齐头并进。现在硬件进步了很多,多核的CPU时代来临了,于是线程开始了真正意义上的并行处理,多线程也作为越来越重要的一个部分需要掌握。 iOS中关于线程的创建
sakulafly
·
2014-01-28 11:00
多线程
ios
Java
多线程系列
--“JUC锁”06之 Condition条件
概要 前面对JUC包中的锁的原理进行了介绍,本章会JUC中对与锁经常配合使用的Condition进行介绍,内容包括:Condition介绍Condition函数列表Condition示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496716.html Condition介绍 Condition的作用是对锁进行
·
2014-01-24 13:00
Condition
Java
多线程系列
--“JUC锁”03之 公平锁(一)
40)一.tryAcquire()二.addWaiter()三.acquireQueued()四.selfInterrupt()“公平锁”的释放锁的机制在后面一章再做介绍,锁的使用示例请参考“Java
多线程系列
ghotsl
·
2014-01-20 23:38
Java
多线程系列
--“JUC锁”02之 互斥锁ReentrantLock
本章对ReentrantLock包进行基本介绍,这一章主要对ReentrantLock进行概括性的介绍,内容包括:ReentrantLock介绍ReentrantLock函数列表ReentrantLock示例在后面的两章,会分别介绍ReentrantLock的两个子类(公平锁和非公平锁)的实现原理。转载请注明出处:http://www.cnblogs.com/skywang1234
·
2014-01-19 21:00
ReentrantLock
Java
多线程系列
--“JUC原子类”04之 AtomicReference原子类
概要 本章对AtomicReference引用类型的原子类进行介绍。内容包括:AtomicReference介绍和函数列表AtomicReference源码分析(基于JDK1.7.0_40)AtomicReference示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3514623.html AtomicRe
·
2014-01-19 09:00
reference
Java
多线程系列
--“JUC原子类”01之 框架
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2. 数组类型: AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray ;3. 引用类型: AtomicReference,
·
2014-01-17 09:00
java多线程
Java
多线程系列
--“基础篇”11之 生产消费者问题
概要 本章,会对“生产/消费者问题”进行讨论。涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3480016.html 1. 生产/消费者模型 生产/消费者问题是个非常典型的多线程问题,涉及到的对象包括“生产者”、“消费者”、“仓库”和“产品”。他们之
·
2014-01-16 09:00
java多线程
Java
多线程系列
--“基础篇”10之 线程优先级和守护线程
概要 本章,会对守护线程和线程优先级进行介绍。涉及到的内容包括:1. 线程优先级的介绍2. 线程优先级的示例3. 守护线程的示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479982.html 1. 线程优先级的介绍 java 中的线程优先级的范围是1~10,默认的优先级是5。“高优先级线程”会优先于“低
·
2014-01-15 10:00
java多线程
Java
多线程系列
--“基础篇”09之 interrupt()和线程终止方式
概要 本章,会对线程的interrupt()中断和终止方式进行介绍。涉及到的内容包括:1. interrupt()说明2. 终止线程的方式 2.1 终止处于“阻塞状态”的线程 2.2 终止处于“运行状态”的线程3. 终止线程的示例4. interrupted() 和 isInterrupted()的区别 转载请注明出处:http://www.cnblog
·
2014-01-14 21:00
interrupt
Java
多线程系列
--“基础篇”07之 线程休眠
概要 本章,会对Thread中sleep()方法进行介绍。涉及到的内容包括:1. sleep()介绍2. sleep()示例3. sleep() 与 wait()的比较 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479256.html 1. sleep()介绍 sleep() 定义在Thread.java中。
·
2014-01-13 20:00
java多线程
Java
多线程系列
--“基础篇”06之 线程让步
概要 本章,会对Thread中的线程让步方法yield()进行介绍。涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479243.html 1. yield()介绍 yield()的作用是让步。它能让当
·
2014-01-12 22:00
java多线程
Java
多线程系列
--“基础篇”04之 synchronized关键字
概要 本章,会对synchronized关键字进行介绍。涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchronized代码块4. 实例锁 和 全局锁 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479202.html 1
·
2014-01-11 10:00
synchronized
Java
多线程系列
--“基础篇”03之 Thread中start()和run()的区别
概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start() 和 run()相关源码(基于JDK1.7.0_40) 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479083.html &
·
2014-01-10 19:00
java多线程
Java
多线程系列
--“基础篇”02之 常用的实现多线程的两种方式
概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable。之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解。本章内容包括:Thread和Runnable的简介Thread和Runnable的异同点Thread
·
2014-01-09 22:00
java多线程
秒杀多线程第十六篇 多线程十大经典案例之一 双线程读写队列数据
在《秒杀
多线程系列
》的前十五篇中介绍多线程的相关概念,多线程同步互斥问题《秒杀多线程第四篇一个经典的多线程同步问题》及解决多线程同步互斥的常用方法——关键段、事件、互斥量、信号量、读写锁。
mengyafei43
·
2013-12-24 17:00
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他