最新文章列表

线程池+队列

笔记:自己实现的线程池+队列。 package org.vic.thread.core; import java.util.Arrays; import java.util.Collection; import java.util.LinkedList; import java.util.concurrent.locks.Condition; import java.util.concurren ...
vortexchoo 评论(0) 有594人浏览 2016-04-06 10:40

多线程事务回滚

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> 周五在java群里看到了一个有意思的问题,周末就顺便实现了一下,需求如下: 考察一个多线程的场景,一个Http Request的controller有10个线程同时并行处理,要求: 1) 主线程必须等待1 ...
lsk569937453 评论(0) 有5669人浏览 2016-03-26 10:51

ReentrantLock 公平锁和非公平锁

对于ReentrantLock,一般我们在调用无参构造函数的时候,构造的是非公平锁,当前类也存在一种可以指定锁类型的构造方法,即 ReentrantLock(boolean fair),ReentrantLock锁的实现是通过内部类FairSync和NonfairSync继承AQS实现的。 我们今天主要讨论下这两个内部类,从而探讨下代码级别是如何实现公平锁和非公平锁的。 先看ReentrantLo ...
wangyujie0431 评论(0) 有712人浏览 2016-03-23 13:11

ThreadLocal与线程私有变量的不同

线程变量在以下情况下是安全的: 1. 线程私有变量:每一个线程都是独立的生成实例。例如: count是TestRunable的私有变量,a和b都是独立的线程实例,count是线程安全的。 public class TestRunable implements Runnable { private int count=0; @Override public void run() ...
wynet321 评论(0) 有2012人浏览 2016-03-21 15:57

thread interrupt

Thread thread4 = new Thread(){ public void run(){ try { //synchronized(this){ //this.wait(10000); System.out.println("start A4"); System.out.println("A4 inter ...
wjg_java 评论(0) 有602人浏览 2016-03-21 14:31

线程池实例:使用Executors和ThreadPoolExecutor

        线程池负责管理工作线程,包含一个等待执行的任务队列。线程池的任务队列是一个Runnable集合,工作线程负责从任务队列中取出并执行Runnable ...
bijian1013 评论(0) 有3701人浏览 2016-03-18 23:26

多线程

多线程:   首先要理解进程和线程:   进程查询百度大致可以理解为一段具有独立功能的程序,线程是程序中每个部分的代码,一个进程,拥有多个线程,或者子进程。windows 下exe程序就是一个进程,线程是进程在相同时间分个每个客户单独运行的一段相同程序代码,说的有点抽象,就想本人打英雄联盟吧!可能10个人进入游戏开始,算是一个进程吧,我们每个人完的时候,相互不影响(程序相互不影响),可以自己玩自己的 ...
代码家的乐趣 评论(0) 有554人浏览 2016-03-17 16:47

黑马程序员_java08_多线程

转载于:http://www.itxuexiwang.com/plus/view.php?aid=148 线程是程序中可以并行执行的任务。 java运行系统总是选当前优先级最高的处于就绪状态的线程来执行。如果几个就绪线程有相同的优先级,将会用时间片方法轮流分配处理机。 进程与线程的区别 进程属于一个独立的运行程序,线程是程序里面的一个分支。许多个线程组成一个程序的运行。 创建线程的两种方式 (1)线 ...
zhaomengsen 评论(0) 有458人浏览 2016-03-13 13:01

查找CPU占用高的那个线程

问题描述: 生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高。 问题分析: 1,程序属于CPU密集型,和开发沟通过,排除此类情况。 2,程序代码有问题,出现死循环,可能性极大。 问题解决: 1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出。 2,记得原来通过strace跟踪的方法解决了一台PHP ...
qianxingchuan 评论(0) 有1092人浏览 2016-03-09 14:00

实现两个MySQL数据库之间的主从同步

一、    概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步、主从模式、互相备份模式的功能 二、    ...
zhaomengsen 评论(0) 有556人浏览 2016-03-03 23:24

Java深入学习之死锁

    最近在研究Java并发,学习死锁时偶然发现了一种嵌套管程锁死,所以自己实现了下,可能在不小心中就会犯这种错误。 1、死锁实现     死锁原 ...
dongensi 评论(0) 有782人浏览 2016-02-22 14:30

经典同步模型-生产者消费者java代码实现

package cn.smallbug.thread; /** * 资源定义 * * @timestamp Feb 13, 2016 11:55:10 PM * @author smallbug */ class Resource { private String name; private int age = 0; private boolean fl ...
smallbug_vip 评论(0) 有3226人浏览 2016-02-14 00:19

java线程安全和锁机制详解

在开始这篇blog之前应该先了解几个概念: 临界区:     临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待(例如:bounded waiting 等待法),有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用,例如:semaphore。只能被 ...
smallbug_vip 评论(0) 有14137人浏览 2016-02-03 20:48

线程同步辅助类CountDownLatch

《线程同步辅助类CountDownLatch》   Java5提供了一个非常有用的线程同步辅助类型,java.util.concurrent.CountDownLatch。假设有多个线程正在执行异步操作,主线程希望这些异步线程全部完成之后再继续执行后续任务,那么使用CountDownLatch将非常方便。当这些异步任务并未全部执行完成之前,主线程会一直阻塞,直至所有的异步任务完成为止。   ...
gao_xianglong 评论(0) 有1230人浏览 2016-02-02 00:26

Lokcs

package locks; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.locks.Lock; public class LockTest { private static final int thread ...
嵇海波 评论(0) 有431人浏览 2016-01-22 15:59

线程的五大状态

 线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。     1.新建状态(New):          当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码     2.就绪状态(Runnable)         一个新创建的线程 ...
小余不多余 评论(0) 有682人浏览 2016-01-21 15:16

ThreadLocal可能引起的内存泄露

 threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存 ...
Horsemen 评论(0) 有542人浏览 2016-01-19 11:35

有关semaphore 的死锁的例子。

下面是关于semaphore 的死锁的例子。主要自己学习thinking in java 上面的semaphore的例子的时候不仔细。结果将checkout()  和 checkin()  方法都加上了synchronized. 导致了死锁的问题。代码如下: public class SemaphoreDemo { final static int SIZE = 10; public sta ...
jackiezhi 评论(0) 有1551人浏览 2016-01-18 14:26

线程中多模块共享数据

之前项目中经常会碰到线程共享数据的场景,简单总结下: 1、通常情况会用java.lang.ThreadLocal来实现线程范围的共享变量,线程内共享,线程外独立; 2、ThreadLocal的作用和目的:用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。 应用场景:订单处理、银行转账; 3、demo pa ...
sungyang 评论(0) 有490人浏览 2016-01-07 09:42

java 使用线程池处理文件夹下面的文件

读取某个文件夹下面的所有文件,使用多线程处理,例如读取E盘下面的文件内容: package thread; import java.io.File; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; import java.util.concurrent.Exe ...
zx_code 评论(1) 有6331人浏览 2015-12-29 15:50

最近博客热门TAG

应用服务器(43285) Spring(40811) Hibernate(33329) Tomcat(28344) 框架(27200) 设计模式(24055) Servlet(23313) Struts(22804) Bean(22194) 企业应用(18268) thread(15825) 多线程(14800) SUN(11436) 虚拟机(11382) Cache(11314) Security(8001) SSH(7109) DAO(6880) MVC(6206) AOP(6187)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics