阻塞原理:比如,一个队列中有8个格子,代表可放入8条数据,当一条信息到来就放入一个格子中,然后就进行处理。但是这个时候一次性来了8条数据,格子满了,数据还没有处理完,就来个一条数据。这个时候就把这条数据进行阻塞。
示例:假定有一个绑定的缓冲区,它支持 put 和
take 方法。如果试图在空的缓冲区上执行 take 操作,则在某一个项变得可用之前,线程将一直阻塞;如果试图在满的缓冲区上...
分类:
其他好文 时间:
2015-01-12 16:44:29
阅读次数:
129
1.线程的创建与启动
在Java中,多线程的实现有两种方式:
继承java.lang.Thread类
实现java.lang.Runnable接口
1.1继承Thread类创建线程
继承Thread类创建并启动线程的步骤:
1、定义Thread的子类,并重写该类的run()方法,run()方法的方法体就表示线程需要完成的任务。run()被称为线程执行体。
2、创建Thread的子...
分类:
编程语言 时间:
2015-01-11 17:51:54
阅读次数:
263
1 import java.util.concurrent.ExecutorService; 2 import java.util.concurrent.Executors; 3 import java.util.concurrent.Semaphore; 4 5 public class Th.....
分类:
编程语言 时间:
2015-01-09 19:18:46
阅读次数:
260
Java 同步块(synchronized block)用来标记方法或者代码块是同步的。Java同步块用来避免竞争。本文介绍以下内容:Java同步关键字(synchronzied)实例方法同步静态方法同步实例方法中同步块静态方法中同步块Java同步示例Java 同步关键字(synchronized)...
分类:
编程语言 时间:
2015-01-09 17:06:24
阅读次数:
286
这里我们做一个完整的样例来说明线程产生的方式不同而生成的线程的差别: package debug;import java.io.*;import java.lang.Thread;class MyThread extends Thread{ public int x = 0; public vo.....
分类:
编程语言 时间:
2015-01-09 12:00:19
阅读次数:
179
今天我来说说关于JAVA多线程知识,有错误请指出。大家都知道JAVA在服务端上处理也有很大优势,很多公司也有在服务器跑JAVA进程,这说明JAVA在处理这个多线程以及并发下也有一定有优点的(这说法有点坑了)。下面来看看那java中,不具备直接操作像操作系统一样的PV信号,然而它提供了synchron...
分类:
编程语言 时间:
2015-01-08 22:43:06
阅读次数:
323
闲话不多说,直接上代码。
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MyThreadPool {
private ExecutorService exe;
private static final int POOL_SIZE = 4;...
分类:
编程语言 时间:
2015-01-07 09:25:34
阅读次数:
1418
JAVA多线程和并发基础面试问答多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程....
分类:
编程语言 时间:
2015-01-07 00:26:57
阅读次数:
249
http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html1.如果一个类继承了Thread的话,不适合资源共享;但是如果实现了Runnable接口的话,很容易的实现资源共享。2.实现Runnable接口所具有的优势:第一,适合很...
分类:
编程语言 时间:
2015-01-04 22:48:12
阅读次数:
174