java进程和线程学习
来源:互联网 发布:系统还原会丢失数据 编辑:程序博客网 时间:2024/06/05 03:17
1.进程与线程
1、操作系统在执行一个程序时,会自动建立一个‘进程’,这个进程中,至少包含一个线程(这个线程被称为主线程),来作为程序入口。
2、操作系统运行中,会产生很多个‘进程’,这些进程不共享内存;而每个进程占有的内存,却可以被这个进程中不同的‘线程’所共享;另外,这些线程不仅共享这段内存,每个线程还可有一个属于它自己的内存空间——线程栈,这是线程建立时,操作系统分配的,用来保存线程数据。
3、线程总是属于某个进程,进程中的多个线程共享进程的内存。
4、进程被分为多个线程后,这些线程可以并发执行。
2.线程程序
1、由于Java是纯面向对象语言,因此,Java的线程模型也是面向对象的,Java通过Thread类将线程所必须的功能都封装了起来。
2、如果想运行自己的线程执行函数,那就要覆盖Thread类的run方法,即,继承Thread类,重写类里面的run()方法,run()里面写你要执行的代码。如下:
public class MyThread extends Thread{public void run(){ //你的代码}}
3、执行的时候,实例化MyThread,然后调用start()方法;start方法负责建立线程,调用start方法后,如果线程建立成功,会自动调用Thread类的run方法,即开始执行你的代码。如下:
public static void main(String[] arg0){MyThread myThread = new MyThread(); myThread.start();}
4、除了Thread类,还有一个标识某个Java类是否可作为线程类的接口Runnable,这个接口只有一个抽象方法run,也就是Java线程模型的线程执行函数。一个线程类的唯一标准就是这个类是否实现了Runnable接口的run方法,也就是说,拥有线程执行函数的类就是线程类。如下:
public class MyRunnable implements Runnable{ public void run() { //你的代码 }}
5.在使用Runnable定义的子类中没有start()方法,只有Thread类中才有。此时观察Thread类,有一个构造方法:public Thread(Runnable targer)此构造方法接受Runnable的子类实例,也就是说可以通过Thread类来启动Runnable实现的多线程。如下:
public static void main(String[] args){ MyRunnable t1 = new MyRunnable(); new Thread(t1).start(); }
0 0
- java进程和线程学习
- java学习之进程和线程
- java学习笔记-线程和进程-黑马
- Java学习之进程和线程
- Java学习笔记之进程和线程
- Java 进程和线程
- Java线程和进程
- java 进程和线程
- java线程和进程
- java 多线程学习笔记之进程和线程
- java学习初探十八之线程和进程的区别
- java-学习笔记-线程&进程
- 线程和进程的学习
- Python学习----进程和线程
- 线程和进程的学习
- python进程和线程学习
- 进程和线程学习理解
- Java的进程和线程
- 新网站流量倍增三步曲!
- 阿里巴巴电面经历
- kohana路由roule重写url
- 关于时间的几个方法
- Java学习系列(六)Java面向对象之Jar命令、正则表达式、国际化详解
- java进程和线程学习
- jQuery 教程
- 使用ip alias作为出口ip
- 信念很重要
- SHELL 分析日志
- Fiddler跟踪手机端数据包
- javascript 格式化 json字符串
- awk中使用shell变量
- 【北京之旅】--程序员应聘技巧之笔试