线程
华清545
这个作者很懒,什么都没留下…
展开
-
线程优先级
每 个线程都有一个“优先级”,范围是0~31,0为最低优先级,31为最高优先级。当系统决定哪个线程需要调度的时候,首先查看是否存在优先级为31的可调 度线程,如果存在,就从中选择一个进行调度。当该线程的时间片到达之后,系统查看是否存在另一个优先级为31的可调度线程,如果存在,就调度它。 只要有一个可调度的优先级为31的线程存在,那么系统绝对不会调度优先级为0~30的线程,这样会导致其他线程“转载 2014-07-07 21:15:14 · 803 阅读 · 0 评论 -
Thread 的构造方法
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。Thread类的构造方法被重载了八次,构造方法如下: public Thread( ); public Thread(Runnable targe转载 2014-07-08 19:26:28 · 13325 阅读 · 0 评论 -
TimeUnit 用法简介
1 import java.util.concurrent.TimeUnit; 2 3 public class TimeUnitDemo { 4 private TimeUnit timeUnit =TimeUnit.DAYS; 5 6 public static void main(String[] args) { 7 TimeUni转载 2014-07-10 11:28:33 · 1277 阅读 · 0 评论 -
ExecutorService与Executors例子的简单剖析
对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西。在此之前,我们运行一个线程都是显式调用了Thread的start()方法。我们用concurrent下面的类来实现一下线程的运行,而且这将成为以后常用的方法或者实现思路。 看一个简单的例子: public class CacheThreadPool {转载 2014-07-10 14:19:40 · 943 阅读 · 0 评论 -
锁 Lock 的用法简介
import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; class T { public static void main(String[] args) { final byt原创 2014-07-10 11:58:02 · 1176 阅读 · 0 评论 -
Java synchronized详解
第一篇: 使用synchronized 在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。 在程序中我们使用了一个简化版本的Account类,代表转载 2014-07-09 18:11:32 · 671 阅读 · 0 评论 -
ExecutorService中submit和execute的区别、Callable 的用法
在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性。 一、创建任务 任务就是一个实现了Runnable接口的类。 创建的时候实run方法即可。转载 2014-07-10 16:30:40 · 2598 阅读 · 0 评论 -
Java线程池使用说明
一简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。 二:线程池 线程池的作用: 线程池作用就是限制系统中执行线程的数量。转载 2014-07-11 10:44:54 · 647 阅读 · 0 评论