存档

2013年9月 的存档

搭建Hadoop集群

2013年9月29日 没有评论

一直以来,对Hadoop集群很感兴趣。最近得闲,就抽空把Hadoop集群搭建起来。为了日后备查,著一小文以记之。

创建用户账号

为了便于管理,建立一个专门用于搭建Hadoop集群的用户账号。创建指令如下:

sudo adduser u --ingroup sudo

注销原来的登录用户,使用用户u登录。也可以使用 阅读全文…

分类: Hadoop, Java, 挨踢(IT) 标签: , ,

Java7并发示例集106:等待线程执行终止

2013年9月26日 没有评论

在某些场景下,我们必须等待线程执行完成才能进行下一步工作。例如,某些程序在开始执行之前,需要先初始化一些资源。这时,我们可以启动一个线程专门来做初始化任务,等到线程任务完成后,再去执行其他部分。

为此,Thread类为我们提供了join()方法。当我们使用线程对象调用此方法时,正在掉调用的线程对象将被推迟到被调用对象执行完成后再开始执行。

在本节,示例程序演示等待初始化方法完成后,再去执行其他任务。

知其然

按照下面所示步骤, 阅读全文…

分类: Java, 挨踢(IT) 标签: ,

Java7并发示例集105:线程休眠与恢复

2013年9月25日 没有评论

有时,我们需要在指定的时间点中断正在执行的线程。比如,每分钟检查一次传感器状态的线程,其余时间,线程不需要做任何事情。在此期间,线程不需要使用计算机的任何资源。过了这段时间之后,并且当Java虚拟机调度了该线程,则该线程继续执行。为此,你可以使用Thread类的sleeep()方法。该方法以休眠的方式来推迟线程的执行,而且整数类型的参数则指明休眠的毫秒数。当调用sleep()方法,休眠时间结束后,Java虚拟机分配给线程CPU运行时间,线程就会继续执行。

另一种是用sleep()方法的方式是 阅读全文…

分类: Java, 挨踢(IT) 标签: ,

Java7并发示例集104:可控的线程中断

2013年9月22日 没有评论

在上一节“线程中断”中,我们讲解了如何中断一个正在执行的线程以及为了中断线程,我们必须对Thread动点什么手脚。一般情况下,我们可以使用上一节介绍的中断机制。但是,如果线程实现了一个分配到多个方法中的复杂算法,或者方法调用中有一个递归调用,我们应该使用更好的方式来控制线程的中断。为此,Java提供了InterruptedException异常。当检测到中断请求时,可以抛出此异常,并且在run()方法中捕获。

在本节,我们将使用一个线程 阅读全文…

分类: Java, 挨踢(IT) 标签:

Java7并发示例集103:线程中断

2013年9月19日 没有评论

一个多线程的Java程序,直到所有线程执行完成,整个程序才会退出。(需要注意的是,是所有非后台线程(non-daemon thread)执行完成;如果一个线程执行了System.exit()方法,程序也会退出。)有时,你想中止一个线程的执行,例如你想退出程序,或者你想取消一个正在执行的任务等。

Java提供了中断机制,可以让我们显式地中断我们想中止执行的线程。中断机制的一个特征就是我们可以检查线程是否已经被中断,进而决定是否响应中止请求。线程也可以忽略中止请求,继续执行。

在本节,我们所开发的示例程序将会创建一个线程,五秒钟后, 阅读全文…

分类: Java, 挨踢(IT) 标签:

Java7并发示例集102:获取和设置线程信息

2013年9月18日 没有评论

Thread类包含几个属性,这些属性所表示的信息能帮助我们识别线程、观察其状态、控制其优先级等。这些线程包括如下几种:

  • ID: 该属性表示每个线程的唯一标识;
  • Name: 该属性存储每个线程的名称;
  • Priority: 该属性存储每个Thread对象的优先级。线程优先级分1到10十个级别,1表示最低优先级,10表示最高优先级。并不推荐修改线程的优先级,但是如果确实有这方面的需求,也可以尝试一下。
  • Status: 该属性存储线程的状态。线程共有 阅读全文…
分类: Java, 挨踢(IT) 标签:

Java7并发示例集101:线程的创建和执行

2013年9月17日 1 条评论

开门见山

在IT圈里,每当我们谈论并发时,必定会说起在一台计算机上同时运行的一系列线程。如果这台电脑上有多个处理器或者是一个多核处理器,那么这时是实实在在的“同时运行”;但是,如果计算机只有一个单核处理器,那么这时的“同时运行”只是表象而已。

所有的现代操作系统全部支持任务的并发执行。你可以边听音乐,边上网看新闻,还不耽误首发电子邮件。我们可以说,这种并发是 进程级并发 。在进程内部,我也可以看到有许许多多的并发任务。我们把运行在一个进程里面的并发任务称 线程

和并发相关的另外一个常见概念是 阅读全文…

分类: Java, 挨踢(IT) 标签:

无觅相关文章插件,快速提升流量