【Java】线程的创建和启动
来源:互联网 发布:发卡平台源码免签约 编辑:程序博客网 时间:2024/04/29 07:23
一、继承Thread类创建线程类
定义Thread类的子类,并重写run()方法, 该run()方法为线程执行体。
创建Thread子类的实例,即创建子线程对象。
调用线程对象的start()方法启动该线程。
public class FirstThread extends Thread{/** * @param args */private int i;public void run(){for(;i < 100; i++){System.out.println(getName()+" "+ i);}}public static void main(String[] args) {// TODO Auto-generated method stubfor(int i = 0; i <100; i++){System.out.println(Thread.currentThread().getName()+" "+i);if(i==20){new FirstThread().start();new FirstThread().start();}}}}主线程的执行体是main()方法。
使用继承Thread类的方法来创建线程类时,多个线程之间无法共享线程类的实例变量。
二、实现Runnable接口创建线程类
定义Runnable接口的实现类,重写run()方法
创建Runnable实现类的实例,调用线程对象的start()方法。
public class FirstThread implements Runnable{private int i;public void run() {for(;i < 100; i++){System.out.println(Thread.currentThread().getName()+" "+ i);}}public static void main(String[] args) {for(int i = 0; i <100; i++){System.out.println(Thread.currentThread().getName()+" "+i);if(i==20){FirstThread ft = new FirstThread();new Thread(ft,"线程1").start();new Thread(ft,"线程2").start();}}}}采用Runnable接口的方式创建多个线程可以共享线程类的实例变量。
三、使用Callable和Future创建线程。
线程的生命周期:new/Runnabe/Running/Blocked/Dead.
大多操作系统采用抢占式策略,系统会给每个可执行的线程一个小时间段来处理任务,当该时间段用完后,系统就会剥夺该线程所占用的资源。但一些小型设备如手机可能采用协作式调度策略,只有当一个线程调用了sleep()或yield()方法后才会放弃所占用的资源,也就是必须由该线程主动放弃所占资源。
不要对处于死亡状态的线程调用start()方法,会引发IllegalThreadStateException异常。
0 0
- Java线程的创建和启动
- 【Java】线程的创建和启动
- 【Java基础】:线程的创建和启动
- Java之线程的创建和启动
- Java线程的创建和启动
- Java线程的三种三种创建和启动
- java线程的创建和启动
- Java线程的学习_线程的创建和启动
- 创建和启动java线程
- Java线程创建和启动
- java线程创建和启动
- java 线程 启动 和 创建
- 线程——Java之线程的创建和启动
- java线程详细学习一-----线程的创建和启动
- Java线程--创建和启动线程
- 线程的创建和启动
- 线程的创建和启动
- 线程的创建和启动
- apache-Jmeter简单使用教程
- oracle 11g不能导出空表的多种解决方法
- Java内存模型FAQ(五)旧的内存模型有什么问题?
- C++实验2-标准体重
- 报错:jstl标签——The absolute uri: http://java.sun.com/jsp/jstl/core cannot beresolved in either web.xml o
- 【Java】线程的创建和启动
- VisionMobile:2015年Android使用的全球趋势(五)Android演进导致更少解锁
- canny边沿检测2
- Java内存模型FAQ(六)没有正确同步的含义是什么?
- 搭建 Cocos2d-html5环境与webstorm的配置
- 开发人员系统功能设计常用办公软件分享
- QT学习
- 双系统开机 进入grub resource,并且进不bios
- 第二次上机实验(标准体重)