java的线程小结
2013-11-19 10:03
253 查看
1.进程和线程
2.多线程程序运行模式
3.定义线程的方法。
4.
a)多进程:
在操作系统中能(同时)运行多个任务(程序)
b)多线程:
在同一个应用程序中有多个顺序流(同时)执行。
5.线程的执行过程
1)new() - 》start() -》 Run()(Runnable(就绪状态) --线程调度->Running(运行状态) - dead) -》Dead()
2)Run 过程中有两种情况:
a)Runnable --线程调度->Running -> dead 正在执行run()直接运行完毕,没有发生阻塞事件。
b)Runnable --线程调度->Running ---阻塞事件->Blocked(阻塞状态) -- 解除阻塞-->Runnable ->Running -> dead; 发生阻塞事件。之后再运行完毕,线程死亡。
6.一个线程,是一个线程对象来表示的。
7.创建线程的方法:
1)方式1:
定义一个线程类,它继承类Thread并重现其中的方法run(),方法run()称为线程体。
另外由于java只支持单继承,用这种方法定义的类不能再继承其它类。
8.实例
class FirstThread extends Thread{
public void run(){
for(int i=0; i<100; i++){
System.out.println("FirstThread--> " + i);
}
}
}
class Test{
public static void main(String args[]){
startThread();
runUnThread();
}
//通过线程方式执行
private void startThread(){
//生成线程类的对象fristThread
FirstThread ft = new FirstThread();
//启动线程,线程进入就绪状态
ft.start();
for(int j=0; j<100; j++){
System.out.println("mainThread--> " + j);
}
}
/**
* 按顺序执行
*/
private void runUnThread(){
//生成线程类的对象fristThread
FirstThread ft = new FirstThread();
//不能这样启动线程,这样写的话,就直接执行run里面的方法不在是多线程的方式。
ft.run();
for(int j=0; j<100; j++){
System.out.println("mainThread--> " + j);
}
}
}
9.
2.多线程程序运行模式
3.定义线程的方法。
4.
a)多进程:
在操作系统中能(同时)运行多个任务(程序)
b)多线程:
在同一个应用程序中有多个顺序流(同时)执行。
5.线程的执行过程
1)new() - 》start() -》 Run()(Runnable(就绪状态) --线程调度->Running(运行状态) - dead) -》Dead()
2)Run 过程中有两种情况:
a)Runnable --线程调度->Running -> dead 正在执行run()直接运行完毕,没有发生阻塞事件。
b)Runnable --线程调度->Running ---阻塞事件->Blocked(阻塞状态) -- 解除阻塞-->Runnable ->Running -> dead; 发生阻塞事件。之后再运行完毕,线程死亡。
6.一个线程,是一个线程对象来表示的。
7.创建线程的方法:
1)方式1:
定义一个线程类,它继承类Thread并重现其中的方法run(),方法run()称为线程体。
另外由于java只支持单继承,用这种方法定义的类不能再继承其它类。
8.实例
class FirstThread extends Thread{
public void run(){
for(int i=0; i<100; i++){
System.out.println("FirstThread--> " + i);
}
}
}
class Test{
public static void main(String args[]){
startThread();
runUnThread();
}
//通过线程方式执行
private void startThread(){
//生成线程类的对象fristThread
FirstThread ft = new FirstThread();
//启动线程,线程进入就绪状态
ft.start();
for(int j=0; j<100; j++){
System.out.println("mainThread--> " + j);
}
}
/**
* 按顺序执行
*/
private void runUnThread(){
//生成线程类的对象fristThread
FirstThread ft = new FirstThread();
//不能这样启动线程,这样写的话,就直接执行run里面的方法不在是多线程的方式。
ft.run();
for(int j=0; j<100; j++){
System.out.println("mainThread--> " + j);
}
}
}
9.
相关文章推荐
- java 线程小结
- Java线程执行顺序小结及线程池终止判定
- Java线程的生命周期小结
- java线程问题小结-----常见面试问题
- java线程同步小结
- java 线程小结
- java 线程关闭小结(转)
- java 线程关闭小结
- Java线程小结(一)
- java线程小结
- java多线程----关于join方法的注意点,以及守护线程的小结
- java线程小结1
- Java线程小结(二)
- Java多线程编程小结+java中创建线程的的几种方式
- Java线程安全小结
- 日常小结-java线程状态的转移
- Java中线程小结
- Java 小结-线程
- Java线程安全问题小结_动力节点Java学院整理
- Java线程小结(二)