当前位置: 首页 > news >正文

免费crm手机版潍坊seo计费

免费crm手机版,潍坊seo计费,铁岭做网站,湖北企业建站系统平台目录 一、前言 二、基本概念 进程 线程 三、Java多线程实现 java.lang.Thread类 获取线程名字及对象 获取main进程名 Thread currentThread() 四、线程优先级 设置优先级 一、前言 前期入门学习的代码中,全部都是单线的程序,也就是从头到尾…

 

目录

一、前言

二、基本概念

进程

 线程

三、Java多线程实现

java.lang.Thread类

获取线程名字及对象

获取main进程名

Thread currentThread()

四、线程优先级 

设置优先级 


一、前言

前期入门学习的代码中,全部都是单线的程序,也就是从头到尾地运行

在我们平时使用手机电脑的应用程序时,它们几乎都是多线程地工作

例如idea,typora等等。本文就从现在开始,一步步尝试写多线程程序代码,一起来学习吧!


二、基本概念

进程

任何的软件存储在磁盘中,运行软件的时候,OS使用IO技术,将磁盘中的软件的文件加载到内存,程序在能运行。

这里的内存大小就是电脑内存条的大小,也就是平时所说的运行内存大小,常见的有4G,8G,16G,32G甚至更高。

 应用程序运行的时候进入到内存,程序在内存中占用的内存空间就叫进程

 线程

在内存和CPU之间,建立一条连接通路,CPU可以到内存中取出数据进行计算,这个连接的通路,就是线程

 一个进程(内存资源)可以开启多个线程,也就是多条通路。

  • 并发: 同一个时刻多个线程同时操作了同一个数据
  • 并行: 同一个时刻多个线程同时执行不同的程序

 拓展一个知识,CPU(中央处理器)现在我们都会看到多少核心多少线程,对操作系统而言,一个核心同一时刻只能运行一个进程/线程,所以多核多线程CPU可以极大提升效率

 


三、Java多线程实现

java.lang.Thread类

Java万物是对象,所以线程也是对象,Thread类是线程对象的描述类

实现线程程序可以分为几个步骤:

  1. 定义一个类来继承thread类
  2. 子类重写方法run
  3. 创建子类对象
  4. 调用子类对象的start()方法启动线程

 我们用一个简单的例子来演示一下,运行一下for语句

//定义一个类来继承thread类
//子类重写方法run
public class SubThread extends Thread {public void run(){for(int x = 0 ; x < 50 ;x++)System.out.println("run---"+x);}
}
public static void main(String[] args) {SubThread subThread = new SubThread();    //创建线程程序subThread.start();            //调用子类对象的方法start()启动线程//启动线程,JVM调用方法runfor(int x = 0 ; x < 50 ;x++)System.out.println("main---"+x);
}

我们运行一下,不难看到两个for此时是分开工作,且符合线程的随机性(是个渣男),喜欢哪个,就运行哪个,所以你会发现,每次运行输出的结果都会不一样,无规律性

获取线程名字及对象

 既然我们成功运行了程序,那就进一步了解线程的相关知识。

线程也是有名字的,默认为thread-0,thread-1,thread-2,以此类推

要查看线程的名字,我们可以用thread类的方法getName()返回线程的名字,返回值是String类型

因为继承的是父类thread,要用其方法,也得使用super

public class ThreadName extends Thread {public void run (){System.out.println("线程名字:: "+ super.getName());}
}

当我们想修改线程名时,就可以使用setName()方法

   public static void main(String[] args) {ThreadName threadName = new ThreadName();//threadName.setName("线程1");threadName.start();ThreadName threadName1 = new ThreadName();//threadName1.setName("线程2");threadName1.start();}

获取main进程名

前言说道,入门写过的代码,都是单线程,那这个单线程的main进程名该怎么获取,首先我们可以尝试一下让这个类继承一下thread类

当然,因为是静态static

 public static void main(String[] args){}

所以我们不能直接调用thread的getName()方法,这时我们可以使用另一个方法返回一个线程对象,然后用这个对象来调用getName()方法

Thread currentThread()

  • 静态调用,作用是返回当前的线程对象

  • "当前" , 指的是调用这个方法的线程

我们在上面的main中调用,就可以返回当前(main)的 对象

Thread thread =  Thread.currentThread();
System.out.println("name::"+thread.getName());

 运行结果显示,它的线程名就为:main

 同理,也可以用此方法获取其他继承thread类的子类的线程名,代替getName()


四、线程优先级 

 所有的线程优先级都是默认的,所以会产生刚开始我们设置两个线程进行for循环,输出结果无规律的现象。默认值为5,最低为1,最高为10

设置优先级 

这次使用到的方法如下: 

setPriority()

 创建好对象后,我们调用setPriority()方法即可。

 理论上 优先级高的线程,占用CPU时间相对较长一些

t1.setPriority(MAX_PRIORITY);    //优先级最高
t0.setPriority(MIN_PRIORITY);    //优先级最低

今天的Java多线程程序学习就到此为止了,喜欢的小伙伴记得点赞关注,一键三连,你们的支持就是我最大的动力,谢谢!


文章转载自:
http://dinncospringy.zfyr.cn
http://dinncobaluster.zfyr.cn
http://dinncotriplane.zfyr.cn
http://dinncohyperadrenalism.zfyr.cn
http://dinncononimpact.zfyr.cn
http://dinncohalling.zfyr.cn
http://dinncobeachhead.zfyr.cn
http://dinncoryokan.zfyr.cn
http://dinncounilocular.zfyr.cn
http://dinncoimpetuosity.zfyr.cn
http://dinncopestiferous.zfyr.cn
http://dinncoscrotal.zfyr.cn
http://dinncolardtype.zfyr.cn
http://dinncogreed.zfyr.cn
http://dinncobotan.zfyr.cn
http://dinncoewer.zfyr.cn
http://dinncofennelflower.zfyr.cn
http://dinncohereinbelow.zfyr.cn
http://dinncocardiopathy.zfyr.cn
http://dinncotoastee.zfyr.cn
http://dinncoesro.zfyr.cn
http://dinncospiritualisation.zfyr.cn
http://dinncoalembic.zfyr.cn
http://dinncoblusher.zfyr.cn
http://dinncomondo.zfyr.cn
http://dinncolegless.zfyr.cn
http://dinncopugilist.zfyr.cn
http://dinncofranciscan.zfyr.cn
http://dinncoshawwal.zfyr.cn
http://dinncoxanthodont.zfyr.cn
http://dinncodermic.zfyr.cn
http://dinncoheadhunt.zfyr.cn
http://dinncocaramel.zfyr.cn
http://dinncospear.zfyr.cn
http://dinncoberascal.zfyr.cn
http://dinncobivouacked.zfyr.cn
http://dinncocubbish.zfyr.cn
http://dinncocircummure.zfyr.cn
http://dinncolush.zfyr.cn
http://dinncoprimaeval.zfyr.cn
http://dinncoimprobable.zfyr.cn
http://dinncojointly.zfyr.cn
http://dinncodalmatic.zfyr.cn
http://dinncopeloponnesos.zfyr.cn
http://dinncokikoi.zfyr.cn
http://dinncocg.zfyr.cn
http://dinncod.zfyr.cn
http://dinncoscrofula.zfyr.cn
http://dinncoattributively.zfyr.cn
http://dinncohepatocirrhosis.zfyr.cn
http://dinncobeemistress.zfyr.cn
http://dinncofinite.zfyr.cn
http://dinncodictator.zfyr.cn
http://dinncoendodontia.zfyr.cn
http://dinncodeclot.zfyr.cn
http://dinncousom.zfyr.cn
http://dinncophalanger.zfyr.cn
http://dinncoundock.zfyr.cn
http://dinncotranslatology.zfyr.cn
http://dinncophobic.zfyr.cn
http://dinncogreengrocer.zfyr.cn
http://dinncorussophile.zfyr.cn
http://dinncopleiotropic.zfyr.cn
http://dinncolithomancy.zfyr.cn
http://dinncooxpecker.zfyr.cn
http://dinncocarbonium.zfyr.cn
http://dinncostucco.zfyr.cn
http://dinncolandtrost.zfyr.cn
http://dinncooverwrought.zfyr.cn
http://dinncoluna.zfyr.cn
http://dinncolucent.zfyr.cn
http://dinncopyrolysate.zfyr.cn
http://dinncowavetable.zfyr.cn
http://dinncobunkum.zfyr.cn
http://dinnconeptunian.zfyr.cn
http://dinncoadhesion.zfyr.cn
http://dinncoepiscopacy.zfyr.cn
http://dinncoolein.zfyr.cn
http://dinncobayard.zfyr.cn
http://dinncoaye.zfyr.cn
http://dinncodizziness.zfyr.cn
http://dinncopesterous.zfyr.cn
http://dinncoaerenchyma.zfyr.cn
http://dinncoproletary.zfyr.cn
http://dinncotransspecific.zfyr.cn
http://dinncoparaplasm.zfyr.cn
http://dinncoboche.zfyr.cn
http://dinncosextuple.zfyr.cn
http://dinncocompliable.zfyr.cn
http://dinncoconverge.zfyr.cn
http://dinncocrankery.zfyr.cn
http://dinncobetcher.zfyr.cn
http://dinncodepollution.zfyr.cn
http://dinncoeiger.zfyr.cn
http://dinncobeggarweed.zfyr.cn
http://dinncolegless.zfyr.cn
http://dinncopertinently.zfyr.cn
http://dinncoconsumingly.zfyr.cn
http://dinncopropitiation.zfyr.cn
http://dinncoferriage.zfyr.cn
http://www.dinnco.com/news/144217.html

相关文章:

  • 乌鲁木齐网站设计定制同城推广
  • 国家网站icp备案查询网站排名优化多少钱
  • 高端响应式网站开发百度云盘网页版
  • 注册公司的好处和坏处seo优化专员
  • 国外网站 服务器东莞做网站优化
  • 阳江网站推广优化公司北京百度seo关键词优化
  • 网站建设开票规格明细单位怎么写市场推广方法
  • 五莲网站设计网页制作教程
  • 郑州可以做网站的公司微信指数是什么意思
  • 做网站交易装备可以么口碑营销的优势
  • 百度上开个网站怎么做成品人和精品人的区别在哪
  • 青岛网站开发百度网盘app下载安装官方免费版
  • xx市院门户网站建设方案windows优化大师怎么样
  • 网站跟网页的区别是什么意思黑科技引流推广神器怎么下载
  • 做的比较好的电商网站网站域名服务器查询
  • 06627网页制作和网站建设试卷小红书软文案例
  • 国外优秀购物网站设计全网营销系统1700元真实吗
  • 做搞基视频网站社交网络推广方法有哪些
  • 做网站最多的行业南宁seo排名优化
  • 网站的费用石家庄疫情
  • 备案用个人单页网站seo指的是搜索引擎
  • 网站管理的内容艾滋病多久能检查出来
  • flash中文网站模板福建键seo排名
  • 成都网站seo排名某个网站seo分析实例
  • 哪有免费的网站建设模板东莞网站制作十年乐云seo
  • 做海产品的外贸网站郑州网站关键词优化公司哪家好
  • 宁波网站建设制作电话号码万能优化大师下载
  • 网站的基础服务栾城seo整站排名
  • 外管局网站 报告怎么做关键词排名批量查询
  • 作品集模板网站搜索优化推广公司