Java Code之线程(二)
来源:互联网 发布:新视野大学英语软件 编辑:程序博客网 时间:2024/06/03 19:08
Java提供了Thread类来创建线程,具体看代码
新建下载线程类
- package com.iteye.badpie.javacode.thread;
- import java.util.Random;
- public class DownloadThreadextends Thread {
- private static final String TAG = DownloadThread.class.getSimpleName();
- private String mMovie;
- private Random mRandom;
- public DownloadThread(Random random, String movie) {
- mRandom = random;
- mMovie = movie;
- }
- @Override
- public void run() {
- log(TAG, "电影 " + mMovie + " 开始下载");
- for (int i = 0; i < 100;) {
- // 模拟网络下载,随机耗时
- synchronized (this) {
- try {
- int time = mRandom.nextInt(5000);
- wait(time);
- i += 20;
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- log(TAG, "电影 " + mMovie + " 下载进度... " + i +"%");
- }
- log(TAG, "电影 " + mMovie + " 下载结束");
- }
- private void log(String TAG, Object message) {
- System.out.println(String.format("%s : %s", TAG, message));
- }
- }
package com.iteye.badpie.javacode.thread;import java.util.Random;public class DownloadThread extends Thread { private static final String TAG = DownloadThread.class.getSimpleName(); private String mMovie; private Random mRandom; public DownloadThread(Random random, String movie) { mRandom = random; mMovie = movie; } @Override public void run() { log(TAG, "电影 " + mMovie + " 开始下载"); for (int i = 0; i < 100;) { // 模拟网络下载,随机耗时 synchronized (this) { try { int time = mRandom.nextInt(5000); wait(time); i += 20; } catch (InterruptedException e) { e.printStackTrace(); } } log(TAG, "电影 " + mMovie + " 下载进度... " + i + "%"); } log(TAG, "电影 " + mMovie + " 下载结束"); } private void log(String TAG, Object message) { System.out.println(String.format("%s : %s", TAG, message)); }}
这样启动线程
- Java Code之线程(二)
- Java Code之线程与同步(一)
- Java HashMap 分析之二:Hash code
- Java HashMap 分析之二:Hash code
- Java HashMap 分析之二:Hash code
- Java HashMap 分析之二:Hash code
- JAVA线程之二----ThreadLocal
- Java高级之线程(二)
- Java多线程之线程池(二)
- java并发之线程封闭(二)
- Java 之 线程的生命周期(二)
- Java多线程之线程安全二
- Java并发之线程池Executors(二)
- java多线程(二) 之 线程安全性
- Java并发编程之线程(二)
- 二.java多线程之线程状态转换
- Java学习心得之线程(二)
- JAVA线程之二:线程的调度及优先级
- Java规则引擎工作原理及其应用(转)
- 关于java中边界值校验的问题
- java-synchronized修饰方法释疑
- How to install and use GCC g++ v4.7 and C++11 on Ubuntu 12.04
- java bingfa
- Java Code之线程(二)
- Good book about java
- MAPI
- Hibernate 第五讲 数据库Id生成策略 (1)
- DOS命令批量修改文件后缀名
- 对ACM的态度
- PHPUnit require_once()报错问题
- Windows Azure中文培训材料下载
- Machine Learning---LMS 算法