之前的文章我介绍了C#版本的多线程和自定义线程处理器。接下来我们来看看Java版本的呢java 的线程和C#的线程有点区别,java的线程没有是否是后台线程一说,具体原因是java的线程是jvm的c++代码模拟线程,而C#的线程也是C++模拟线程。但是区别在于C#的线程会基于系统的线程。C# 的 T...
分类:
编程语言 时间:
2015-04-24 18:30:10
阅读次数:
191
内容来自,张孝祥老师的张孝祥-Java多线程与并发库高级应用》视频教程
package com.lipeng;
public class MyThreadLocalTest2 {
private final static MyThreadLocal myThreadLocal=new MyThreadLocal();
/**
* @param args
*/
public st...
分类:
编程语言 时间:
2015-04-23 21:47:28
阅读次数:
156
信号量Semaphore Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中 的任何一个人让开后,其中等待的另外5个人中又有一个人可以占用了。另外等待的5个人中可以是随机获得优先机会,也可以是按照先来后到的顺...
分类:
编程语言 时间:
2015-04-23 19:11:55
阅读次数:
130
由于线程的特性,当我们启动了线程是没有办法用try catch捕获异常的,如下例: 1 package com.xt.thinks21_2; 2 3 import java.util.concurrent.ExecutorService; 4 import java.util.concurrent....
分类:
编程语言 时间:
2015-04-22 23:32:01
阅读次数:
294
前段时间做了一个利用多线程解决查询大数据的功能,之前是用.NET写的,因工作需要,开始了解学习Java。 于是,开始去了解Java里面多线程是怎么个写法,线程同步是怎么进行的? 之前.NET里面写多线程程序,也是一知半解,并没有用到很多线程特性,只是很简单的Thread.start(); lock(...
分类:
编程语言 时间:
2015-04-22 20:27:03
阅读次数:
139
Java程序基本都要涉及到多线程,而在多线程环境中不可避免的要遇到线程死锁的问题。Java不像数据库那么能够检测到死锁,然后进行处理,Java中的死锁问题,只能通过程序员自己写代码时避免引入死锁的可能性来解决。1. Java中导致死锁的原因Java中死锁最简单的情况是,一个线程T1持有锁L1并且申请...
分类:
编程语言 时间:
2015-04-22 20:26:56
阅读次数:
153
//申明:本文转载自http://www.cnblogs.com/digdeep/p/4448148.html 《Java多线程中的死锁问题》Java程序基本都要涉及到多线程,而在多线程环境中不可避免的要遇到线程死锁的问题。Java不像数据库那么能够检测到死锁,然后进行处理,Java中的死锁问题,只...
分类:
编程语言 时间:
2015-04-22 20:24:24
阅读次数:
162
可见性:一个线程对共享变量值的修改,能够及时地被其他线程看到。Java内存模型(JMM)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存中和从内存中读取出变量这样的底层细节。多线程中所有的变量都存储在主内存中,每个线程都有自己的独立的工作内存,里面保存该线程使用的变量的副本(主内存中该变量的拷贝)。两种方式实现多线程的可见性synchronized实现可见性sy...
分类:
编程语言 时间:
2015-04-22 11:38:47
阅读次数:
135
1 package com.xt.thinks21_2; 2 3 import java.util.concurrent.ExecutorService; 4 import java.util.concurrent.Executors; 5 import java.util.concurrent.....
分类:
编程语言 时间:
2015-04-22 01:50:08
阅读次数:
162