Java学习笔记--线程day01

2019-08-26 06:25:58来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Java学习笔记--线程day01

  线程的概念:一个线程是进程的顺序执行流;

同类的多个线程共享一块内存空间和一组系统资源,线程本身有一个供程序执行时的堆栈。线程在切换时负荷小,因此,线程也被称为轻负荷进程。一个进程中可以有多个线程。

  进程与线程的区别:

线程的划分程度小于进程,使得多线程程序并发性高。

进程在执行过程中有独立的内存单元,而多个线程共享内存,极大的提高了程序的运行效率。

执行过程中两者的区别在于:每个独立的线程有一个程序运行的入口、顺序执行序列、和程序的出口。

线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

从逻辑角度来看:多线程的意义在于在一个应用程序中,有多个执行部分可以同时执行,但操作系统并没有将多个线程看作多个独立的应用来实现进程的调度和管理以及资源分配。

  线程的创建与使用:

创建线程方式: 1.可以通过继承Thread类来创建线程

      2.可以通过实现runnable接口来创建线程

      3.匿名内部类的方式

1

*class MyThread01 extends Thread{
*public void run(){                  //这个方法的方法体就是线程要干的事情,下同
*}

*}

2

*class MyThread02 implements Runnable{ * @Override
* public void run() {              //必须重写继承的接口中的抽象方法
*  // TODO Auto-generated method stub
* } 3: *Thread t3=new Thread(){
* public void run(){

*  }
*};    运行线程: 1: *Thread t1=new MyThread01(); *t1.start(); 2: *Runnable t2=new MyThread03(); *t2.start(); 3: *t3.start(); 线程的优先级与设置线程的优先级:
 setPriority(int i):分为十个级别(1-10),1最高,10最低;级别越高,获取时间片的概率越大。 1:t1.setPriority(i);
2:t2.setPriority(i);
3:t3.setPriority(i) 守护线程与设置守护线程: 守护线程在本质上与普通线程没有区别,只需通过Thread提供的方法来设置即可: void setDaemon(boolean)  当参数为true时该线程为守护线程 守护线程的特点: 当进程中只剩下守护线程时,所有守护线程强制终止。 sleep(long ms)方法: 使当前的线程进入阻塞状态,持续ms毫秒,之后线程会进入Runnable状态,等待重新分配时间片。 该方法需要抛出一个异常,所以需要用try{}catch(){}捕获这个异常。    

 


原文链接:https://www.cnblogs.com/cgwjava/p/11396428.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:java解析json字符串详解(两种方法)

下一篇:进程和线程,并发和并行,同步和异步,高并发和多线程,理一理概