public class ThreadTest { public static void main(String[] args) { MyThread1 thread1 = new MyThread1(); thread1.start(); MyThread2 thread2 = new My...
分类:
编程语言 时间:
2014-11-28 17:58:53
阅读次数:
134
转载自:http://www.cnblogs.com/jackyuj/archive/2010/11/24/1886553.html前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快.....
分类:
编程语言 时间:
2014-11-27 20:18:22
阅读次数:
243
多线程: 生产与消费1.生产者Producer生产produce产品,并将产品放到库存inventory里;同时消费者Consumer从库存inventory里消费consume产品。2.库存inventory的总量(最大库存量100)是有限的。如果库存inventory满了,生产者不能在库存inv...
分类:
编程语言 时间:
2014-11-27 14:12:17
阅读次数:
225
多线程的目的是为了最大限度的利用CPU资源。Java编写程序都运行在在Java虚拟机(JVM)中,在JVM的内部,程序的多任务是通过线程来实现的。每用java命令启动一个java应用程序,就会启动一个JVM进程。在同一个JVM进程中,有且只有一个进程,就是它自己。在这个JVM环境中,所有程序代码的运...
分类:
编程语言 时间:
2014-11-27 01:26:27
阅读次数:
217
packagenet.okren.java;importjava.io.*;//账户classAccount{privatefloatbalance=1000;publicfloatgetBalance(){returnbalance;}publicvoidsetBalance(floatbalan...
分类:
编程语言 时间:
2014-11-26 13:56:03
阅读次数:
217
一个线程创建之后,总是处于其生命周期的4个状态之一中。线程的状态表明此线程当前正在进行的活动,而线程的状态是可以通过程序来进行控制的,就是说,可以对线程进行操作来改变状态。这些操作包括启动(start)、终止(stop)、睡眠(sleep)、挂起 (suspend)、恢复(resume)、等待(wait)和通知(notify)。每一个操作都对应了一个方法,这些方法是由软件包java.lang提供的...
分类:
编程语言 时间:
2014-11-26 11:18:13
阅读次数:
217
如果Java程序不只有一个执行线程,只有当所有线程结束的时候这个程序才能运行结束。更确切的说是所有的非守护线程运行结束的时候,或者其中一个线程调用了System.exet()方法时,程序才运行结束。
Java提供了中断机制,我们可以采用它来结束一个线程。我们创建一个线程,使其运行5秒后通过中断机制强制使其终止。程序检查数字是否是质数。
package com.concurrency;
pub...
分类:
编程语言 时间:
2014-11-25 16:29:21
阅读次数:
252
1、多线程编程是有趣的事情,他很容易突然出现...
分类:
编程语言 时间:
2014-11-24 21:00:08
阅读次数:
192
结合多线程的学习过程,介绍线程的状态图,随着学习的深入,这幅图不断加入新的内容。
一.线程基本状态图
这幅图是在Java 多线程(三) 线程的生命周期及优先级出现过的:
图中是线程运行的基本状态:线程调用start()方法开始后,就进入到可运行状态,随着CPU的资源调度在运行和可运行之间切换;遇到阻塞则进入阻塞状态。
二.加入同步的线程状...
分类:
编程语言 时间:
2014-11-24 13:40:02
阅读次数:
386
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当synchronized方法执行完或发生异常时,会自动释放锁。
下面通过一个例子来对synchronize...
分类:
编程语言 时间:
2014-11-24 11:52:24
阅读次数:
326