多线程
2016-06-27 11:36
323 查看
Thread类的静态sleep方法将暂停给定的毫秒数。调用Thread.sleep不会创建一个新线程,是Thread的静态方法。
static void sleep(long millis)
millis 休眠的毫秒数.
注意:
不用调用Thread类或Runnable对象的run方法。直接调用run方法,只会执行同一个线程中的任务,而不会启动新线程。应该调用Thread.start方法。这个方法将创建一个执行run方法的新线程。
创建新执行线程有两种方法:
一种方法是将类声明为 Thread 的子类。
该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:
创建线程的另一种方法是声明实现 Runnable 接口的类。
该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。采用这种风格的同一个例子如下所示:
从以下版本开始:
JDK1.0
static void sleep(long millis)
millis 休眠的毫秒数.
注意:
不用调用Thread类或Runnable对象的run方法。直接调用run方法,只会执行同一个线程中的任务,而不会启动新线程。应该调用Thread.start方法。这个方法将创建一个执行run方法的新线程。
创建新执行线程有两种方法:
一种方法是将类声明为 Thread 的子类。
该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:
class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . } } 然后,下列代码会创建并启动一个线程: PrimeThread p = new PrimeThread(143); p.start();
创建线程的另一种方法是声明实现 Runnable 接口的类。
该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。采用这种风格的同一个例子如下所示:
class PrimeRun implements Runnable { long minPrime; PrimeRun(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . } } 然后,下列代码会创建并启动一个线程: PrimeRun p = new PrimeRun(143); new Thread(p).start(); 每个线程都有一个标识名,多个线程可以同名。如果线程创建时没有指定标识名,就会为其生成一个新名称。
从以下版本开始:
JDK1.0
相关文章推荐
- Spring基础学习二 : IOC控制反转
- 剖析Disruptor:为什么会这么快?(一)Ringbuffer的特别之处
- [Leetcode]237. Delete Node in a Linked List
- 自己实现一个验证码功能
- LeetCode "Find Leaves of Binary Tree"
- 使用eclipse创建maven web项目
- php socket客户端及服务器端应用实例
- android 添加新的页面(新的activity)
- matlab 常用命令
- 附件点击即下载的实现
- Retrofit+OKHttp实现缓存以及遇到的问题
- linux crontab 定时任务被重复执行多次问题
- 解决Android工程中引入codec.jar包报错问题
- 监听回车键
- Android 如何在程序里监听通知栏是否被下拉
- 关于Sql Server最大连接数(Max Pool Size)的配置问题
- mantis添加管理员更改用户密码功能
- android SharedPreferences存储byte数组
- 今天开始,不抛弃,不放弃。
- java基础之内部类(3)---内部类定义在局部变量上