JAVA并发编程5_线程状态
1Coder.Bing 发布于 2015-11-01
JAVA线程的可能处于一下几种状态,任意的时间点一个线程只能处于一个状态。 1. 新建状态(New):创建后尚未启动的线程处于这种状态。 转移时机:创建一个新线程。 2. 就绪状态(Runnable):调用了start()方法,该状态的线程位于可运行线程池中,变得可运行,等待获取...
Coder.Bing 发布于 2015-11-01
JAVA线程的可能处于一下几种状态,任意的时间点一个线程只能处于一个状态。 1. 新建状态(New):创建后尚未启动的线程处于这种状态。 转移时机:创建一个新线程。 2. 就绪状态(Runnable):调用了start()方法,该状态的线程位于可运行线程池中,变得可运行,等待获取...
Coder.Bing 发布于 2015-11-01
前面通过同步锁来同步任务的行为,两个任务在交替访问共享资源的时候,可以通过使用同步锁使得任何时候只有一个任务可以访问该资源,见:线程同步之synchronized关键字。下面主要讲的是如何使任务彼此间可以协作,使得多个任务可以一起工作去解决木某个问题,因为有些问题中,某些部分必须...
Coder.Bing 发布于 2015-11-01
多线程访问共享数据时,通常需要同步,一种避免使用同步的方式就是不共享数据。如果仅在单线程里访问数据,那么就不需要使用同步,这种技术被称为线程封闭。 Ad-hoc线程封闭:维护线程封闭性的职责完全由程序实现来承担。 栈封闭:我的理解就是局部变量,局部变量是线程私有的,不会被共享,也...
Coder.Bing 发布于 2015-11-01
不使用线程池 1.串行执行任务 class SingleThreadWebServer { public static void main(String[] args) { ServerSocket socket = new ServerSocket(80); while (tr...
Coder.Bing 发布于 2015-11-01
(1)Java没有提供任何的安全机制来终止线程,程,虽然Thread.stop和suspend等方法提供了这样的机制,但是存在严重的缺陷,应该避免使用这些方法。 (2)它提供了中断(interrupt),这是一种协作机制,能够使一个线程终止另一个线程当前的工作。 (3)一种协作机...
Coder.Bing 发布于 2015-11-01
在用socket写一个服务器时遇到了问题于是将主要的问题抽了出来,代码如下,由于代码很简单于是也没有注释。 public class Main { private static ServerSocket serverSocket; private final static Exe...
Coder.Bing 发布于 2015-10-30
题目大意: 序列“未排序程度”的一个计算方式是元素乱序的元素对个数。例如:在单词序列“DAABEC’”中,因为D大于右边四个单词,E大于C,所以计算结果为5。这种计算方法称为序列的逆序数。序列“AACEDGG”逆序数为1(E与D)——近似排序,而序列“ZWQM” 逆序数为6(它是...
Coder.Bing 发布于 2015-10-30
1、 为什么两个(1927年)时间相减得到一个奇怪的结果? 如果执行下面的程序,程序解析两个间隔1秒的日期字符串并比较: public static void main(String[] args) throws ParseException { SimpleDateFo...
Coder.Bing 发布于 2015-10-05
类的加载: 类的加载指的是将类的.class文件中的二进制数据读入到内存中。 1)Bootstrap ClassLoader 负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类 2)Extens...
Coder.Bing 发布于 2015-10-04
分享一个非常完善的打飞机源代码。 下载地址:http://pan.baidu.com/s/1hqKwGO8 运行效果: 打开Eclipse,新建java工程,将下载的文件解压拖拽进工程里运行即可。 未经允许不得转载:Bcoder资源网 &...