- 浏览: 2287991 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (357)
- J2EE (49)
- JavaScript (40)
- Spring (19)
- Struts (5)
- CSS (8)
- Hibernate (16)
- Java (67)
- DWR (4)
- JSON (3)
- XFIRE (1)
- Tomcat (1)
- Ant (2)
- 设计模式 (2)
- 经典收藏 (2)
- JSP (10)
- Linux (0)
- WebLogic (11)
- myeclipse (13)
- Buffalo (4)
- 文件上传相关 (1)
- oracle (33)
- html (6)
- JSTL (3)
- SVN (2)
- GIT (1)
- 孙卫琴(Java网络编程精解) (1)
- DOM4J (2)
- Swing (1)
- AJAX (1)
- Eclipse (5)
- 日志组件 (3)
- PowerDesigner (1)
- Jquery (22)
- IT技术开发相关网址 (1)
- Nutz (1)
- 其它 (1)
- Velocity (3)
- WebService (1)
- MySql (2)
- Android (1)
- Maven (2)
- Quartz (11)
- Lucene (1)
- springsource (1)
- Junit (1)
- Activiti (0)
最新评论
-
yzlseu:
拼凑,没有营养
Activiti进阶—分配组任务 -
zhangsenhao:
非常赞!代码很清楚
SpringMVC3.0+MyIbatis3.0(分页示例) -
xiamw2000:
分页写得不对,应该是 : order by ${orderNa ...
SpringMVC3.0+MyIbatis3.0(分页示例) -
sheertewtw:
...
SpringMVC:上传与下载 -
kingtoon:
...
XSS之xssprotect
参考资料
1 Java线程:创建与启动
http://lavasoft.blog.51cto.com/62575/99151
运用场景:
在使用很多线程的时候,要区分每个线程的标记,就要加上你自定义线程的名字,sleep也经常用,比如你在发送邮件或者执行其它任务的时候,想要每间隔多少秒执行一次,sleep就会用上
线程的名字,一个运行中的线程总是有名字的,名字有两个来源,一个是虚拟机自己给的名字,一个是你自己的定的名字。在没有指定线程名字的情况下,虚拟机总会为线程指定名字,并且主线程的名字总是mian,非主线程的名字不确定。
sleep方法属于Thread类中方法,表示让一个线程进入睡眠状态,等待一定的时间之后,自动醒来进入到可运行状态,不会马上进入运行状态,因为线程调度机制恢复线程的运行也需要时间,一个线程对象调用了sleep方法之后,并不会释放他所持有的所有对象锁,所以也就不会影响其他进程对象的运行。但在sleep的过程中过程中有可能被其他对象调用它的interrupt(),产生InterruptedException异常,如果你的程序不捕获这个异常,线程就会异常终止,进入TERMINATED状态,如果你的程序捕获了这个异常,那么程序就会继续执行catch语句块(可能还有 finally语句块)以及以后的代码
sleep(long millis)
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)
sleep(long millis, int nanos)
在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行)
Thread它有8个不同的构造函数,如下:
示例A
示例B
输出结果如下:
1 Java线程:创建与启动
http://lavasoft.blog.51cto.com/62575/99151
运用场景:
在使用很多线程的时候,要区分每个线程的标记,就要加上你自定义线程的名字,sleep也经常用,比如你在发送邮件或者执行其它任务的时候,想要每间隔多少秒执行一次,sleep就会用上
线程的名字,一个运行中的线程总是有名字的,名字有两个来源,一个是虚拟机自己给的名字,一个是你自己的定的名字。在没有指定线程名字的情况下,虚拟机总会为线程指定名字,并且主线程的名字总是mian,非主线程的名字不确定。
sleep方法属于Thread类中方法,表示让一个线程进入睡眠状态,等待一定的时间之后,自动醒来进入到可运行状态,不会马上进入运行状态,因为线程调度机制恢复线程的运行也需要时间,一个线程对象调用了sleep方法之后,并不会释放他所持有的所有对象锁,所以也就不会影响其他进程对象的运行。但在sleep的过程中过程中有可能被其他对象调用它的interrupt(),产生InterruptedException异常,如果你的程序不捕获这个异常,线程就会异常终止,进入TERMINATED状态,如果你的程序捕获了这个异常,那么程序就会继续执行catch语句块(可能还有 finally语句块)以及以后的代码
sleep(long millis)
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)
sleep(long millis, int nanos)
在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行)
Thread它有8个不同的构造函数,如下:
示例A
import java.util.Date; public class MyThread extends Thread { @SuppressWarnings("deprecation") @Override public void run() { System.out.println("咫尺天涯的第一个线程(Thread)启动了。。。"); while(true){ System.out.println("系统默认的线程名字: "+ this.getName()+",自定义线程名字: " + Thread.currentThread().getName() +",当前秒: " + new Date().getSeconds()); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
示例B
import java.util.Date; public class MyRunnable implements Runnable { @SuppressWarnings("deprecation") @Override public void run() { System.out.println("咫尺天涯的第一个线程(Runnable)启动了。。。"); while(true){ System.out.println("自定义线程名字: "+Thread.currentThread().getName()+",当前秒: " + new Date().getSeconds()); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
public class Main { public static void main(String[] args) { MyThread myThread = new MyThread(); Thread thread = new Thread(myThread,"咫尺天涯(Thread)"); thread.start(); MyRunnable myRunnable = new MyRunnable(); Thread runnable = new Thread(myRunnable,"咫尺天涯(Runnable)"); runnable.start(); } }
输出结果如下:
咫尺天涯的第一个线程(Thread)启动了。。。 咫尺天涯的第一个线程(Runnable)启动了。。。 系统默认的线程名字: Thread-0,自定义线程名字: 咫尺天涯(Thread),当前秒: 37 自定义线程名字: 咫尺天涯(Runnable),当前秒: 37 自定义线程名字: 咫尺天涯(Runnable),当前秒: 38 系统默认的线程名字: Thread-0,自定义线程名字: 咫尺天涯(Thread),当前秒: 38 自定义线程名字: 咫尺天涯(Runnable),当前秒: 39 系统默认的线程名字: Thread-0,自定义线程名字: 咫尺天涯(Thread),当前秒: 39 自定义线程名字: 咫尺天涯(Runnable),当前秒: 40 系统默认的线程名字: Thread-0,自定义线程名字: 咫尺天涯(Thread),当前秒: 40 自定义线程名字: 咫尺天涯(Runnable),当前秒: 41 系统默认的线程名字: Thread-0,自定义线程名字: 咫尺天涯(Thread),当前秒: 41
发表评论
-
java json-lib & jQuery & jsonp
2016-06-30 11:31 824参考链接: 1、http://hanqunfeng.iteye ... -
随机分配算法(Intege)
2016-01-08 13:05 5192参考资料: http://blog.csdn.net/yaer ... -
XSS之xssprotect
2012-12-07 23:03 29487参考资料 1 跨网站脚本 ... -
Java之Thread(线程题)
2011-10-31 12:33 1972特别说明:java线程相关的参考了张孝祥老师的代码 参考资料 ... -
Java之ThreadLocal(Synchronized)
2011-10-31 10:10 2691参考资料 1 深入研究java.lang.ThreadLoca ... -
Java之synchronized,wait,notify结合运用示例
2011-10-26 11:54 5936场景一:要求二个线程各 ... -
Java之synchronized深入应用
2011-10-23 08:03 1940参考资料 1 java synchronized详解 http ... -
Java之Timer入门
2011-10-11 15:32 1692参考资料 1 java中timer用 ... -
Java之线程(匿名内部类)
2011-10-10 16:36 164281 Thread对象 Thread t = new Thr ... -
Java之线程(join)
2011-10-10 15:39 1479运用场景:多个线程之间 ... -
Java之线程(synchronized,wait(),notify(),notifyAll())
2011-10-10 15:03 3249参考资料 Java多线程入门大全(适用于有一定基础者) htt ... -
Java之线程入门
2011-10-10 11:11 1533参考资料 1 Java线程:概 ... -
java之表反向生成类
2011-09-23 16:41 3480环境:XP+JDK1.5+Oracle10g 注意事项 1 请 ... -
java之线程, NIO学习资料
2011-09-19 12:13 1130Concurrent In Java 6 第一部分 集合 ... -
Java之BigDecimal
2011-09-15 10:12 18024参考资料 1 java.math.BigDecimal的用法 ... -
java.lang.OutOfMemoryError异常解决方法
2011-08-27 16:47 2107转载:java.lang.OutOfMemoryError异常 ... -
Jcom之jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=
2011-08-25 12:33 11735参考资料 java应用jcom将word转pdf http:/ ... -
Quartz之AnnualCalendar
2011-08-11 17:14 5817问题1 我想排除一年中 ... -
Quartz之InterruptableJob
2011-08-11 11:03 11779问题1 由于业务需要,停止Quartz中正在执行的任务 Qua ... -
Quartz之JobExecutionException
2011-08-11 10:06 13403问题1 如果你的任务执 ...
相关推荐
Java线程有10个优先级(MIN_PRIORITY, NORM_PRIORITY, MAX_PRIORITY),默认优先级是NORM_PRIORITY。但是,线程优先级并不保证绝对的执行顺序,操作系统调度策略可能影响实际执行顺序。 7. join()方法: 一个线程...
此外,sleep方法可以使线程进入阻塞状态一段时间,而join方法则允许一个线程等待另一个线程完成其任务。 了解线程池的概念也是Java多线程编程中的一个重要知识点。线程池是一种多线程处理形式,它将线程和任务的...
阻塞状态通常发生在线程等待I/O操作完成、调用sleep()方法、等待锁释放或者调用join()方法等待其他线程结束时。 在`threadTest`这个案例中,我们可能会看到如何使用这些概念来创建实际的应用场景。例如,一个典型的...
在Java编程中,多线程是一项关键特性,它允许程序同时执行多个任务,提升系统效率。在处理耗时操作如大文件下载、数据处理或网络请求时,展示进度条能够提供用户友好的交互体验,让使用者了解任务的完成状态。本主题...
挂起线程通常通过调用`sleep()`或`wait()`方法实现,恢复线程可能通过`notify()`或`notifyAll()`唤醒,终止线程则可以通过`interrupt()`方法发送中断请求,但线程本身需要检查`isInterrupted()`或`...
创建Java线程主要有两种方式: 1. 继承Thread类:创建Thread的子类并重写run()方法,然后通过调用start()方法启动线程。 2. 实现Runnable接口:创建一个实现了Runnable接口的类,实现run()方法,然后将该类的实例...
在这个实例中,可能有四个线程:主线程(Main)以及名为A、B和C的三个子线程。每个子线程可能代表不同的任务,它们并行运行,从而加快整体处理速度。 主线程通常是程序的入口点,它负责启动其他线程并协调它们的...
Thread 类是一个基本的线程类,它提供了许多有用的方法来控制线程的执行,如 start() 方法、join() 方法、sleep() 方法等。Runnable 接口是一个函数式接口,它提供了一个 run() 方法,用于定义线程的执行逻辑。 二...
创建Java线程主要有两种方式:继承Thread类和实现Runnable接口。继承Thread类可以直接重写run()方法,而实现Runnable接口则需要提供一个包含业务逻辑的run()方法,并通过构造Thread对象传入该Runnable实例。后者更为...
例如,`Thread.sleep()`、`SocketInputStream.read()`等阻塞方法在被中断时会抛出`InterruptedException`,从而让线程有机会终止。 5. **线程池的控制** `java.util.concurrent`包中的`ExecutorService`和`...
在Java编程语言中,多线程是核心特性之一,它允许程序同时执行多个任务,从而提高了应用程序的效率和响应速度。本示例着重探讨如何在Java中实现和管理多线程,以及它带来的挑战和解决方案。 一、Java多线程基础 1. ...
在Java编程中,多线程技术常常用于模拟现实世界中的并发场景,比如模拟排队叫号系统。这个系统可以通过创建多个线程来代表等待服务的客户,一个线程代表叫号服务,通过队列数据结构来有序地管理这些线程。下面我们将...
Java线程有五种基本状态:新建(NEW)、可运行(RUNNABLE)、阻塞(BLOCKED)、等待(WAITING)和终止(TERMINATED)。线程从新建到终止会经历这些状态的转换。 4. 线程同步与互斥: 为了避免多线程环境下资源...
每个进程至少包含一个线程,我们称之为主线程。而线程则是进程中独立执行路径的单位,它是程序执行流的最小单元,又被称作是进程中的一个控制单元。一个进程可以拥有多个线程,这些线程共享进程的资源,同时并发地...
这个名为"java多线程源码,仅供参考"的压缩包文件,显然是为了帮助学习者深入理解Java多线程的运行机制。其中的示例程序"BounceThread"可能是一个演示线程交互和同步的经典案例,常用于教授线程的创建、运行以及线程...
在Java编程中,多线程是一项关键特性,它允许程序同时执行多个任务,极大地提高了效率。本实例将探讨如何利用Java实现一个具有进度条显示功能的多线程应用。进度条通常用于可视化地表示某个任务的完成程度,这对于长...
#### 一、Java线程:概念与原理 1. **操作系统中线程和进程的概念** - 当前的操作系统通常为多任务操作系统,多线程是实现多任务的一种手段。 - **进程**:指内存中运行的应用程序,每个进程拥有独立的内存空间。...
理解这些状态有助于我们更好地控制线程的行为,例如,通过调用sleep()方法可以使线程进入阻塞状态,join()方法可以使主线程等待子线程完成。 三、线程同步与互斥 在多线程环境下,数据共享可能会引发数据不一致的...
《Java线程 高清晰中文第二版》中文第二版(PDF) 前言 第一章 线程简介 Java术语 线程概述 为什么要使用线程? 总结 第二章 Java线程API 通过Thread类创建线程 使用Runable接口的线程 线程的生命周期 线程命名 ...
在Java编程语言中,多线程是其核心特性之一,它允许程序同时执行多个任务,提高了应用程序的效率和响应性。本示例着重探讨如何在Java中实现多线程,并通过一个具体的小球运动模拟来阐述相关概念。 一、多线程基础 ...