摘要:
工厂模式是我们常用的模式之一。它是一个创建者模式,使用一个类为其他的或者多个类创建对象。当我们要为这些类创建对象时,不需要在使用new构造器。 使用工厂类,可以将对象的创建集中化。 下面这个例子,我们使用ThreadFactory接口来创建对象,用来生成个性化名称的线程并且保存这些线程对象的统计... 阅读全文
摘要:
共享数据是并发程序最核心的问题之一,对于继承Thread类或者实现Runnable接口的对象来说尤其重要。如果创建的对象实现了Runnable接口的类的实例,用它作为传入参数,并创建多个线程对象并启动这些线程,那么所有的线程将共享相同的属性。如果在一个线程中改变一个属性,所有线程都会被这个改变影响。... 阅读全文
摘要:
java里有一种特殊的线程叫做守护线程(Daemon)线程。这种线程的优先级很低,通常来说,当同一个应用程序里没有其他的线程运行的时候,守护线程才运行。当程序中唯一运行的的线程是守护线程时,并且守护线程执行结束后 ,JVM也就结束了这个程序。 因为这种特性,守护线程通常被用来作为同一程序中普通线程... 阅读全文
摘要:
今天,拿一个简单例子来说明线程中断的控制。场景:在特定的目录,寻找特定的文件,如果找到,则10秒线程中断。如果没找到,直接抛出InterruptedException异常,并在run()方法捕获处理这个异常。 1.创建一个类名为FileSearch类,并且实现Runnable接口。 public ... 阅读全文
摘要:
大家用过unix或者linux系统,对vi,sed,grep,awk等使用工具不会陌生,应该了解用于定界符搜索模式的正则表达式和元字符。那么什么是正则表达式呢?正则表达式是一种序列或者字符模式,负责在搜索或者替换文本时对文本内容进行字符串匹配。简单的正则表达式直接由待匹配字符串或字符集构成。正则表达... 阅读全文
摘要:
今天,我们注重分析下Thread类。这个类有一些信息的属性。这些属性可以用来标识线程,显示线程的状态或者控制线程的优先级。 ID:保存了线程的唯一标识。 Name:保存了线程的名称 Priority:保存了线程的优先级。 Status:保存了线程的状态。java中线程的状态有:new,runnabl... 阅读全文
摘要:
使用计算机时,可以同时做几件事情:可以一边听音乐,一边写文档,还可以一边看邮件。因为操作系统支持并发任务,从而使得这些工作得以同时进行。并发编程是一种平台和机制提供多个任务或者程序同时运行,并且相互通讯来交换数据(或者与其他任务进行同步等待)。在java语言中,线程跟其他元素一样,都是对象。jav... 阅读全文