首页 > 其他分享 >多线程基础知识(一)

多线程基础知识(一)

时间:2024-08-19 21:53:20浏览次数:12  
标签:run Thread void 基础知识 m1 线程 多线程 public

多线程

多线程

进程:正在运行的程序,是系统进行资源分配和调用对的独立单位,每一个进程都有它的内存空间和系统资源。可以理解为,一个正在运行的程序。
线程:是进程中的单个顺序控制流,是一条执行路径,一个进程如果只有一条执行路径,则称为单线程程序;一个进程如果有多条执行路径,则称为多线程程序。

如何创建一个线程对象?

​ 1、自定义线程类继承Thread类,重写run方法
​ 2、自定义线程类实现Runable接口,实现run方法

如何启动一个线程?

​ 调用start()方法启动

Thread无参构造方法

thread() 分配一个新的 Thread对象

class MyThread1 extends Thread{
    MyThread1() {
    }

    MyThread1(String name){
        super(name);
    }

    @Override
    public void run() {
        //将来线程启动后需要执行的逻辑
        super.run();
    }
}

注意:
1、启动一个线程的时候,若直接调用run方法,仅仅是普通的对象调用方法,按照自上而下的顺序执行,底层不会额外的创建一个线程再执行
2、从执行结果上来看,java线程之间是抢占式执行的,谁先抢到cpu执行权谁就先执行
3、每次运行的结果顺序不可预测,是完全随机的
4、每个线程都有优先权,具有较高优先级的线程优先于优先级别低的线程执行

Thread类中的成员方法:
1、public final String getName() 获取线程对象的名字
2、设置线程对象名字的方式:
a.通过父类的有参构造方法,在创建线程对象的时候设置名字
b.线程对象调用setName(String name)方法,给线程对象设置名字
3、获取进程的等级
getPriority() 默认优先级是5
4、设置进程优先级,setPriority(int i),在启动之前设置 [1,10]
注意不是优先级高的一定先执行,只是可能性变高了。

public class ThreadDemo1 {
    public static void main(String[] args) {
        //创建一个自己的线程对象
        MyThread1 m1 = new MyThread1();
        m1.setName("

标签:run,Thread,void,基础知识,m1,线程,多线程,public
From: https://www.cnblogs.com/lucky-lack0-0/p/18368201

相关文章

  • 【网络安全入门】学习网络安全必须知道的100 个网络基础知识_网络安全知识入门基础_网
    什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2OSI参考模型的层次是什么?有7个OSI层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。3什么是骨干网?骨干网络是集中的基础设施,旨在将不同的路由和数据......
  • 多线程概念
    packagecom.shujia.day19;/*多线程:进程:正在运行的程序,是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。理解:一个正在运行的软件线程:是进程中的单个顺序控制流,是......
  • @Async使用ThreadPoolTaskExecutor 多线程
    SpringBoot中的线程池ThreadPoolTaskExecutor,@Async的使用线程池@Configuration@EnableAsyncpublicclassExcutorConfig{@Bean(name="ThreadPoolTaskExecutor")publicThreadPoolTaskExecutorThreadPoolTaskExecutor(){ThreadPoolTaskExecutorex......
  • 小白系列:数据库基础知识解析
    前言今天,我打算用简单明了的语言来讲解一下数据库的基本概念。总体上,这些内容与我在视频中讲解的基本一致。如果你发现视频的讲解有些难以理解,不妨看看这篇文字版的解释,希望能够更快速地帮助你掌握数据库的相关知识。需要注意的是,本文讨论的数据库主要指的是关系型数据库。数据......
  • C++中的多线程编程和锁机制
    二、多线程、锁2.1C语言线程库pthread(POSIXthreads)2.2.1线程创建pthread_create#include<pthread.h>pthread_tthread;ThreadDataargs={1,"Hellofromparameterizedthread"};intresult=pthread_create(&thread,attr,function,args); //线程创建即......
  • JavaSE基础知识分享(九)
    写在前面今天继续将集合后面的部分,还会加一点JavaIO流的知识!关于Java增强for循环和Collections类概述:增强for循环概述增强for循环用于简化数组和Collection集合的遍历。它使代码更简洁,易于阅读。格式for(元素数据类型变量:数组或者Collection集合){......
  • JavaEE篇:多线程(1)
    一认识线程(Thread)1.1概念1.1.1线程是什么?线程被创建出来是为了完成分配给它的任务。线程又称轻量级进程,是操作系统的基本调度单位。一个线程就是一个执行流。线程的创建销毁和切换都比进程更加的方便。进程是操作系统分配资源的基本单位,线程的创建和释放不涉及资源分配......
  • Thread-多线程
    多线程并发与并行(了解)并行(parallel):指多个事件任务在同一时刻发生(同时发生)。指在同一时刻,有多条指令在多个处理器上同时执行。单核CPU同一时刻只能处理一条指令,所以单核CPU做不到并行处理。并发(concurrency):指两个或多个事件在同一个微小的时间段内发生。指在同一个时刻只能有一......
  • delphi多线程文件复制怎么实现
    在Delphi中,可以使用TThread类来实现多线程文件复制。以下是一个示例代码:unitUnit1;interfaceusesWinapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,Vcl.Dialogs,Vcl.StdCtrls;type......
  • Linux基础知识学习(一)
    一.简介Linux内核最初只是由芬兰人林纳斯·托瓦兹(LinusTorvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX(可移植操作系统接口)和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运......