more thread
树上的疯子^
树上有一个疯子,一天疯子看见一个傻子站在井边一直喊:13…13…13…… 疯子就下来问傻子:傻子,你在喊什么啊? 傻子看了眼疯子,没理他,继续喊:13…13…13…… 疯子就很好奇,把头伸到井边去看! 傻子一抬脚,“扑通”,疯子掉进了井里! 傻子嘿嘿一笑,说:“14…14…14……”!
展开
-
java笔记--关于线程同步(5种同步方式)
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1.同步方法 即有synchronized关键字修原创 2015-05-05 01:15:25 · 340 阅读 · 0 评论 -
在JAVA中线程到底起到什么作用!
这是javaeye上非常经典的关于线程的帖子,写的非常通俗易懂的,适合任何读计算机的同学. 线程同步我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这...原创 2017-11-15 16:33:13 · 304 阅读 · 0 评论 -
JAVA多线程与并发学习总结
1. 计算机系统使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行;当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了。缓存一致性:多处理器系统中,因为共享同一主内存,当多个处理器的运算任务都设计到同一块内存区域时,将可能导致各自的缓存数据不一致的情况,则同步回主内存时需要遵循一些协议。乱序执行优化:为了使得处理...转载 2015-12-28 19:49:11 · 374 阅读 · 0 评论 -
java虚拟机的工作原理 (一)
一、什么是Java虚拟机Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。二、为什么使用Java虚拟机Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目...原创 2015-04-28 01:32:57 · 454 阅读 · 0 评论 -
java线程
Java线程详解Java线程:概念与原理一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe...原创 2015-04-28 01:42:14 · 358 阅读 · 0 评论 -
java的锁机制
一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁);如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个线程就可以拿到锁...原创 2016-03-07 13:58:58 · 307 阅读 · 0 评论 -
并发编程
http://ifeve.com/perfbook/原创 2016-03-14 14:18:05 · 300 阅读 · 0 评论 -
java的concurrent用法详解
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的...原创 2016-03-15 18:35:41 · 358 阅读 · 0 评论 -
BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue 阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据...原创 2017-01-11 15:49:49 · 275 阅读 · 0 评论 -
同步与异步 线程与多线程
先说一下概念1:同步可以看做是一个单线程操作,只要客户端请求了,在服务器没有反馈信息之前是一个线程阻塞状态(就是假死状态,不能操作其他方法)。2:异步肯定是个多线程。在客户端请求时,可以执行其他线程,并且在把这个线程存放在他的队列里面,有序的执行。(可以设置线程的数量,当超过最大时会显示等待状态)。简单来说:同步必须执行到底之后才能执行其他操作,而异步可以任意操作...转载 2015-05-13 11:24:36 · 429 阅读 · 0 评论 -
Collections(集合操作的工具类)&集合的同步控制&不可变集合的设置
以下几个方法用于对List集合元素进行排序:1、static void reverse(List list):反转指定List集合中元素的顺序。2、static void shuffle(List list):对List中的元素进行随机排序(类似于洗牌的动作)。3.static void sort(List list):根据元素的自然顺序对指定的List 里的元素按升序排序。4、s原创 2015-05-05 01:27:08 · 392 阅读 · 0 评论 -
java线程同步的方法
用什么关键字修饰同步方法 ? 用synchronized关键字修饰同步方法 同步有几种实现方法,都是什么?分别是synchronized,wait与notifywait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。notify():唤醒一个原创 2015-05-05 01:20:58 · 279 阅读 · 0 评论 -
关于JAVA多线程同步
因为需要,最近关注了一下JAVA多线程同步问题。JAVA多线程同步主要依赖于若干方法和关键字。将心得记录如下:1 wait方法: 该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获原创 2015-05-05 01:17:26 · 286 阅读 · 0 评论 -
线程池原理
线程池的优点1、线程是稀缺资源,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以重复使用。2、可以根据系统的承受能力,调整线程池中工作线程的数量,防止因为消耗过多内存导致服务器崩溃。线程池的创建1 public ThreadPoolExecutor(int corePoolSize,2 int maximum...原创 2019-03-24 22:27:59 · 177 阅读 · 0 评论