多线程
文章平均质量分 77
cczakai
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sleep()和wait()的区别
Java中的多线程是一种抢占式的机制而不是分时机制。线程主要有以下几种状态:可运行,运行,阻塞,死亡。抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行。 当有多个线程访问共享数据的时候,就需要对线程进行同步。线程中的几个主要方法的比较: Thread类的方法:sleep(),yield()等 Object的方法:wait()和转载 2011-11-29 15:46:16 · 366 阅读 · 0 评论 -
Thread.sleep使用详解
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 1、假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒? 2、某人的代码中用了一句看似莫明其妙的话:Thread....原创 2011-11-01 10:26:42 · 218 阅读 · 0 评论 -
sleep()和wait()的区别
Java中的多线程是一种抢占式的机制而不是分时机制。线程主要有以下几种状态:可运行,运行,阻塞,死亡。抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行。 当有多个线程访问共享数据的时候,就需要对线程进行同步。线程中的几个主要方法的比较: Thread类的方法:sleep(),yield()等 Object的方法:wait...原创 2011-11-01 10:27:40 · 113 阅读 · 0 评论 -
线程间协作wait()与notify()
使用wait()与notify()/notifyAll()可以使得多个任务之间彼此协作 1. wait()与notify()/notifyAll()调用sleep()和yield()的时候锁并没有被释放,而调用wait()将释放锁。这样另一个任务(线程)可以获得当前对象的锁,从而进入它的synchronized方法中。可以通过notify()/notifyAll(),或者时间...原创 2011-11-01 10:40:16 · 132 阅读 · 0 评论 -
Thread守护线程
在某段程序中看到了Thread.setDaemon的用法,经过学习以后了解: 1. setDaemon需要在start方法调用之前使用2. 线程划分为用户线程和后台(daemon)进程,setDaemon将线程设置为后台进程3. 如果jvm中都是后台进程,当前jvm将exit。(随之而来的,所有的一切烟消云散,包括后台线程啦)4. 主线程结束后, 1) 用户线程将会继...原创 2011-11-01 11:36:04 · 233 阅读 · 0 评论 -
Lock与synchronized 的区别
本人摘自:http://houlinyan.iteye.com/blog/1112535 1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,...原创 2011-11-01 14:12:57 · 136 阅读 · 0 评论 -
生产者与消费者(买票和卖票多线程协作)
简单模型: 门票生产者:Production 门票购买者:Operation 售票中心:TicketOffice 门票:Ticket 功能说明:售票中心的门票最大库存10000张,最小库存100张,当大于最大库存时售票中心将不再购买门票,当小于最小库存售票中心则通知门票生产者生产门票并主动运输给售票中心。 impo...原创 2011-11-02 10:04:40 · 486 阅读 · 1 评论 -
Lock wait timeout exceeded; try restarting transaction一些信息 .
锁等待超时。是当前事务在等待其它事务释放锁资源造成的。 如果多线程并发情况,最好线程对同一张表是互斥操作。 其他方法,修改数据库超时配置:TransactionDeadLockDetectionTimeOut=10000(设置 为10秒)默认是1200(1.2秒) 。 ...原创 2012-03-22 09:47:57 · 131 阅读 · 0 评论 -
Java线程:新特征-阻塞队列
Java线程:新特征-阻塞队列 阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素为止。 有了这样的功能,就为多线程的排队等候...原创 2013-04-16 16:12:20 · 136 阅读 · 0 评论 -
多线程性能及效率问题
一、[多线程概要] 随着计算机技术的发展,编程模型也越来越复杂多样化。但多线程编程模型是目前计算机系统架构的最终模型。随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G。事实上目前3.6G主频的CPU已经接近了顶峰。 如果不能从根本上更新当前CPU的架构(在很长一段时间内还不太可能),那么继续提高CPU性能的方法就是超线程CPU模式。那么,作业系统、应用程序...原创 2011-10-13 15:17:26 · 1157 阅读 · 0 评论 -
线程阻塞
线程阻塞队列文章分类:Java编程摘自别人,仅供分析 Java代码 /* 编写一个线程安全、大小固定的队列 提供阻塞式的方法put,若队列没有空间,则方法put会一直等待 提供阻塞式的方法take,若队列为空,则方法take会一直等待 启动30个线程操作该队列,每个线程进行一次put和一次take操作 */ ...原创 2011-03-07 21:03:40 · 137 阅读 · 0 评论 -
详解slee()
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 1、假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒? 2、某人的代码中用了一句看似莫明其妙的话:Thr转载 2011-11-29 15:49:33 · 618 阅读 · 0 评论 -
Lock与synchronized 的区别
下面摘自:http://houlinyan.iteye.com/blog/1112535 1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断转载 2011-11-29 16:04:58 · 397 阅读 · 0 评论 -
线程间协作wait()与notify()
1.wait()与notify()/notifyAll() 调用sleep()和yield()的时候锁并没有被释放,而调用wait()将释放锁。这样另一个任务(线程)可以获得当前对象的锁,从而进入它的synchronized方法中。可以通过notify()/notifyAll(),或者时间到期,从wait()中恢复执行。 只能在同步控制方法或同步块中调用wait()、n转载 2011-11-29 15:58:53 · 308 阅读 · 0 评论 -
Thread守护线程
在某段程序中看到了Thread.setDaemon的用法,经过学习以后了解: 1. setDaemon需要在start方法调用之前使用2. 线程划分为用户线程和后台(daemon)进程,setDaemon将线程设置为后台进程3. 如果jvm中都是后台进程,当前jvm将exit。(随之而来的,所有的一切烟消云散,包括后台线程啦)4. 主线程结束后, 1) 用户线程将会继转载 2011-11-29 16:15:17 · 393 阅读 · 0 评论 -
Java中的队列使用介绍
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承转载 2011-11-29 16:26:57 · 796 阅读 · 0 评论 -
多线程处理与效率问题
转载地址:http://www.51ibm.com/thread-182849-1-1.html 一、[多线程概要] 随着计算机技术的发展,编程模型也越来越复杂多样化。但多线程编程模型是目前计算机系统架构的最终模型。随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G。事实上目前3.6G主频的CPU已经接近了顶峰。 如果不能从根本上更新当转载 2011-11-29 16:32:37 · 973 阅读 · 0 评论 -
java阻塞队列(线程同步合作)
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Queue...原创 2011-04-14 13:33:46 · 154 阅读 · 0 评论 -
并发性与并行性
并发性是指两个或多个事件在同一时间间隔内发生。 并行性是指两个或多个事件在同一时刻发生。 二者的概念: 幷发的实质是一个物理CPU(也可以多个物理CPU)在若干道程序之间多路复用,并发性是对有限物理资源强制行驶多用户共享以提高效率。 实现幷发技术的关键之一是如何对系统内的多个活动(进程)进行切换。 并行性指的是两个或两个以上的事件或活动在同一时刻发生。在多道...原创 2011-04-15 10:14:27 · 548 阅读 · 0 评论 -
disruptor----Concurrent Programming Framework...
disruptor发布了Java的2.0版本(.Net版本见这里),disruptor是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式实现,或者事件-监听模式的实现,直接称disruptor模式。disruptor最大特点是高性能,其LMAX架构可以获得每秒6百万订单,用1微秒的延迟获得吞吐量为100K+。disruptor与传统高性能模型...原创 2012-09-10 08:57:43 · 244 阅读 · 0 评论
分享