一、为什么使用多线程 1. 并发与并行 我们知道,在单核机器上,“多进程”并不是真正的多个进程在同时执行,而是通过CPU时间分片,操作系统快速在进程间切换而模拟出来的多进程。我们通常把这种情况成为并发,也就是多个进程的运行行为是“一并发生”的,但不是同时执行的,因为CPU核数的限制(PC和通用寄存器 ...
分类:
编程语言 时间:
2016-03-28 08:47:06
阅读次数:
336
一、操作系统中线程和进程的概念
现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。
进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。
线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是...
分类:
编程语言 时间:
2016-03-26 07:39:45
阅读次数:
239
以下内容基于jdk1.7.0_79源码; 以ArrayList为例,在多线程并发情况下,如果有一个线程在修改ArrayList集合的结构(插入、移除...),而另一个线程正在用迭代器遍历读取集合中的元素,此时将抛出ConcurrentModificationException异常导致迭代遍历失败;
分类:
编程语言 时间:
2016-03-13 07:52:02
阅读次数:
248
在学习Java 多线程并发开发过程中,了解到DelayQueue类的主要作用:是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其 中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。 Del
分类:
编程语言 时间:
2016-03-12 10:28:33
阅读次数:
265
Java提供了两种创建线程方法: 通过实现Runable接口; 通过继承Thread类本身。 线程同步 为何使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其
分类:
编程语言 时间:
2016-03-10 20:17:55
阅读次数:
234
2015.10-2016.3月,参与批处理优化项目: 用到的技术:oracle执行计划,oracle hint优化器,java缓存,java多线程并发,javaweb监听器, 遇到的问题及解决: 开发一个static时,没有考虑的并发的情况,导致数据出现异常。 在一个类中声明了enum,但是这个类编
分类:
其他好文 时间:
2016-03-07 18:34:31
阅读次数:
163
多线程的同步依靠的是对象锁机制,synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问。参考自http://www.cnblogs.com/phinecos/archive/2010/03/13/1684877.html 实例说明:1.貌似同步,实际不同步的情况 package
分类:
编程语言 时间:
2016-03-04 16:22:23
阅读次数:
236
一、多线程 1、操作系统有两个容易混淆的概念,进程和线程。 进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。 线程:表示程序的执行流程,是CPU调度执行的基本
分类:
编程语言 时间:
2016-03-02 18:02:15
阅读次数:
305
转自 Java 多线程 并发编程 一、多线程 1、操作系统有两个容易混淆的概念,进程和线程。 进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。 线程:表示程序
分类:
编程语言 时间:
2016-03-02 00:15:22
阅读次数:
301
1.object提供哪些线程相关方法 object类是所有java类的超类,提供三个与线程密切相关的方法,wait(),notify(),notifyAll() wait()提供三种重载形式,计时等待和无限等待(线程处于等待状态,直到其他线程调用此对象的notify()或者notifyAll()方法
分类:
编程语言 时间:
2016-02-23 18:37:16
阅读次数:
201