首页 > 其他分享 >多线程

多线程

时间:2024-09-27 22:46:09浏览次数:6  
标签:runnable run 接口 callable 线程 进程 多线程

线程和进程的区别

  进程是正在运行的程序的实例,进程中包含了线程,每个线程执行不同的任务

  不同的进程使用不同的内存空间,在当前进程下所有线程可以共享内存空间

  线程更加轻量,线程切换比进程切换开销低

 

并行和并发的区别

  在多核cpu下 并发是同一时间应对多件事情,多个线程轮流使用一个或多个cpu

        并行是同一时间动手做多件事情的,四核cpu同时执行四个线程

 

创建线程的方式

  集成Thread类

  实现runnable接口

  实现Callable接口

  线程池创建线程

runnable 和 callable区别

  runnable接口run方法没有返回值

  callable接口call方法有返回值,是个泛型,和Future、FutureTask配合可以用来获取异步执行的结果

  callable接口的call()方法允许抛出异常,而Runnable接口的run()方法的异常只能在内部消化,不能继续上抛

run()和start()的区别

  start:用来启动线程,通过该线程调用run方法执行run方法中所定义的逻辑代码,只能调用一次

  run:封装了要被线程执行的代码,可以被多次调用

线程包含哪些状态,状态之间如何变化

 

标签:runnable,run,接口,callable,线程,进程,多线程
From: https://www.cnblogs.com/wrf1/p/18436728

相关文章

  • 多线程下单例模式延迟初始化的实现
    多线程下单例模式延迟初始化的实现前言synchronized修饰方法双重检查锁定双重检查锁定的问题基于volatile的双重锁定方案类初始化总结前言在程序开发中,存在一些开销较高的资源,例如数据库连接等,我们使用单例模式保证其唯一并且进行延迟初始化,只有当使用的时候才进行......
  • javaseday31多线程
    什么是多线程线程与进程小结并发和并行并发并行小结 多线程的实现方式方法一publicclassDemo1{publicstaticvoidmain(String[]args){//使用多线程的第一种方法/***1、创建一个类继承Thread类*2、并重写......
  • .NetCore MySqlException 多线程中(There is already an open DataReader associated w
    问题描述:其实标题只是遇到问题的其中之一,遇到三种异常信息如下:Lockwaittimeoutexceeded;tryrestartingtransaction大概意思:超过锁定等待超时;尝试重新启动事务 ThereisalreadyanopenDataReaderassociatedwiththisConnectionwhichmustbeclosedfirst.大......
  • 多线程极速导出/9字段10W行只需2秒/导入导出打印组件/功能丰富简单易用
    一、功能特点组件同时集成了导出数据到csv、xls、pdf和打印数据。所有操作全部提供静态方法无需new,数据和属性等各种参数设置采用结构体数据,极为方便。同时支持QTableView、QTableWidget、QStandardItemModel、QSqlTableModel等数据源。提供静态方法直接传入QTableView、QTab......
  • Redis6 多线程模型
    优质博文:IT-BLOG-CN一、单线程的优缺点对于一个请求操作Redis主要做3件事情:从客户端读取数据/解析、执行Redis命令、回写数据给客户端。所以主线程其实就是把所有操作的这3件事情串行一起执行,因为是基于内存,所以执行速度非常快。优点&缺点:【1】优点:不存在锁的竞争问题和......
  • 银行存取款多线程
    importjava.util.Random;importjava.lang.*;/***银行存取款**@authorLaccoliths*/publicclassBank{privateintcount=0;/***存钱*@parammoney:存钱数*/publicsynchronizedvoidaddMoney(intmoney){count+......
  • Linux 基础入门操作 第十章 多线程实现
    10线程介绍线程是进程的一条执行路径。每个线程共享其所附属的进程的所有的资源,包括打开的文件、页表(因此也就共享整个用户态地址空间)、信号标识及动态分配的内存等等。线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一物理内存空间......
  • 【Linux】多线程:线程池的创建、日志类、RAII互斥锁、单例模式:饿汉方式与懒汉方式
    目录一、线程池概念二、线程的封装及线程池类成员变量的介绍 三、单例模式饿汉方式(EagerInitialization)懒汉方式(LazyInitialization)四、RAII类型的互斥锁 五、日志类的实现六、简单的任务类创建七、线程池的创建 一、线程池概念线程池(ThreadPool)是一种基于......
  • JavaEE——多线程
    接着上篇博客我们已经学习了进程的相关概念,了解到进程里面的相关重要属性,那么这篇博客呢我们要学习一个新的知识点——线程!一、引入进程的目的首先引入进程这个概念,是为了解决“并发编程”这样的问题。因为CPU再往小了做,比较困难了,这是因为CPU进入了多核心的时代,要想进一......
  • JavaEE——多线程Thread 类及常见方法
    目录 一、Thread(Stringname)二、是否后台线程isDeamon()三、是否存活isAlive()四、run()方法和start()方法的区别五、中断线程法一:法二:六、线程等待join()七、线程休眠sleep()一、Thread(Stringname)定义:这个东西是给线程(thread对象)起一个名字。起一个......