博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java进程和线程学习
阅读量:2223 次
发布时间:2019-05-08

本文共 1188 字,大约阅读时间需要 3 分钟。

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();   }

转载地址:http://hzxfb.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】223-Rectangle Area
查看>>
【LEETCODE】12-Integer to Roman
查看>>
【学习方法】如何分析源代码
查看>>
【LEETCODE】61- Rotate List [Python]
查看>>
【算法】- 动态规划的编织艺术
查看>>
用 TensorFlow 让你的机器人唱首原创给你听
查看>>
深度学习的主要应用举例
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
机器学习算法应用中常用技巧-2
查看>>