摘要: 在上面的例子中多次使用到了Thread类的join方法。我想大家可能已经猜出来join方法的功能是什么了。对,join方法的功能就是使异步执行的线程变成同步执行。也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到start方法后面的某条语句时,这个线程一定会执行完。而使用join方法后,直到这个线程退出,程序才会往下执行。下面的代码演示了join的用法 1 package com.fly.join; 2 3 public class JoinThre. 阅读全文
posted @ 2014-02-05 22:42 yql_dragonfly 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。 // 开始线程 public void start( ); public void run( ); // 挂起和唤醒线程 public void resume( ); // 不建议使用 public void suspend( ); // 不建议使用 public static void sleep(long millis); public static ... 阅读全文
posted @ 2014-02-05 09:23 yql_dragonfly 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 实现Runnable接口的类必须使用Thread类的实例才能创建线程。通过Runnable接口创建线程分为两步: 1. 将实现Runnable接口的类实例化。 2.建立一个Thread对象,并将第一步实例化后的对象作为参数传入Thread类的构造方法。 最后通过Thread类的start方法建立线程。 1 package com.fly.example; 2 3 public class MyRunnableThree implements Runnable { 4 5 @Override 6 public void run() 7 { 8 Sy... 阅读全文
posted @ 2014-01-23 13:34 yql_dragonfly 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 支持原创,本系列文章均转自:http://www.blogjava.net/nokiaguy/category/38172.html在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。Thread类的构造方法被重载了八次,构造方法如下:public Thread( );public Thread(Runnable target);public Thread(String name);public Threa 阅读全文
posted @ 2014-01-20 16:14 yql_dragonfly 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 支持原创,本系列文章均转自:http://www.blogjava.net/nokiaguy/category/38172.html一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。 进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统内部建立的进程)和用户进程(由用户程序建立的进程);一个进程中可以有一个或多 阅读全文
posted @ 2014-01-20 14:09 yql_dragonfly 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 最近在用SSH框架做一个项目,在使用Struts 的namespace时遇到不少问题,现在就对struts namespace 做一个简单的介绍吧.(本文从项目结构展开叙述) (第1次写博客, 写的不好,请见谅,望大家多提宝贵意见~) 1. 新建一个项目工作叫做eczone, WebRoot的文件目... 阅读全文
posted @ 2013-08-01 11:44 yql_dragonfly 阅读(1650) 评论(2) 推荐(0) 编辑
摘要: 1. Thread.sleep() , sleep() 是Thread的静态方法,用于暂停当前线程活动2. 启动线程 t.start() , t 为Thread类的实例对象3. 取得当前进程Thread.currentThread().4. 线程的状态New, Runnable, Blocked, Waiting, Timed waiting, Terminated.5. 守护线程是为其他线程服务6. Lock 对象,条件对象 (与Synchronized关键字等同) 6-1. 锁用来保护代码片段,任何时刻只能有一个线程执行被保护的代码。 6-2. 锁可以管理试图... 阅读全文
posted @ 2013-07-26 21:21 yql_dragonfly 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1. 50个人围成一圈数到三和三的倍数时出圈,问剩下的人是谁?在原来的位置是多少? package com.test;import java.util.LinkedList;public class Shushu { public static int removeNM(int n, int m) ... 阅读全文
posted @ 2013-07-23 20:53 yql_dragonfly 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 1. 堆与栈的区别?1-1. 数据存放位置: 数据都存放于RAM (Random Access Memory).1-2. 存放数据的类型:stack栈中保存方法中的基本数据类型(int, double, float, char.) heap堆中保存类的对象(用过new等方式创建的对象... 阅读全文
posted @ 2013-07-15 10:23 yql_dragonfly 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 基本格式:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)其中蓝色部分表示可选(即可以不填写,或者用*好代替表示任意类型,或者指定某个特定类型)示例1: com.cdn.service.FeeService中,所有返回值为int的公共方法 execution("public int com.cdn.service.FeeService.*(..) *) 阅读全文
posted @ 2013-07-12 13:56 yql_dragonfly 阅读(190) 评论(0) 推荐(0) 编辑