Java之多线程编程核心技术的6点整理(一)_编程技术点-程序员宅基地

技术标签: java  多线程  一步一步学Java  6点建议  

开心一笑

【服务员来个西红柿炒鸡蛋,服务员:没有西红柿了。
那来一个白菜炖豆腐,服务员:没有豆腐了……
那好,来个鸡蛋炒白菜。
服务员:好的,您稍等,菜马上好!】

视频教程

大家好,我录制的视频《Java之优雅编程之道》已经在CSDN学院发布了,有兴趣的同学可以购买观看,相信大家一定会收获到很多知识的。谢谢大家的支持……

视频地址:http://edu.csdn.net/lecturer/994

提出问题

java多线程编程核心技术的6点笔记???

唯美图片

解决问题

1.1 进程的概念

进程是受操作系统管理的基本运行单元。

例如:操作系统中运行的.exe的程序理解为一个进程。

1.2 线程的概念

在进程中独立运行的子任务。线程的生命周期是个不可循环的过程,一个线程对象结束了不能再次start。

1.3 线程的生命周期

1

1.4 线程的优先级
  • 线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5.
  • setPriority()该方法是为线程设置优先级
1.5 两种线程

用户线程:用户创建的一般线程,如继承Thread类或实现Runnable接口等实现的线程。

守护线程:为用户线程提供服务的线程,如JVM的垃圾回收、内存管理等线程。

**守护线程的两个方法:**setDaemon( )和 isDaemon()。

  • Thread.setDaemon(false/true)设置为用户线程/守护线程
  • thread.setDaemon(true)必须在thread.start()之前设置
    -任何线程都可以是守护线程或者用户线程,所有线程一开始都是用户线程
1.6 sleep、yield、wait区别

sleep:

  • 不释放锁,不放弃当前CPU资源
  • 如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。

yield:

  • 不释放锁,放弃CPU资源

wait:

  • 是释放锁,并放弃CPU资源

读书感悟

来自村上春树《且听风吟》

  • 看海看久了想见人,见人见多了想看海。
  • 慷慨付出的,便是经常得到的。
  • 有什么就害怕失去它。一无所有,又担心会永远一无所有。每个人都一样。
  • 心情抑郁的人只能做抑郁的梦,要是更加抑郁,连梦都不做的。
  • 什么自信之人,那样的人根本不存在,有的不过是能够假装自信的人。
  • 不妨说,说谎与沉默是现代人类社会的两大罪过,而我们经常说谎往往沉默。
  • 要活着,就必须想个不停。从明天的天气到浴盆塞子的尺寸。
  • 只要我始终保持事事留心的好学态度,即使衰老也算不得什么痛苦。

经典故事

【有一个人在森林中漫游的时候,突然遇见了一只饥饿的老虎,老虎向他猛扑上来。他用最大的力气和最快的速度逃开,但是老虎紧追不舍。他被老虎逼入了断崖边上。站在悬崖边上,他想:“与其被老虎活活咬死,还不如跳入悬崖,说不定还有一线生机。”他纵身跳入悬崖,非常幸运地卡在一棵树上。那是一棵长在断崖边的梅树,树上结满了梅子。正在庆幸,他听到断崖深处传来吼声,原来崖底有一只凶猛的狮子正抬头望着他。狮子的声音使他心颤,而更不妙的是,他转头看见一黑一白两只老鼠,正用力地咬着梅树的树干。他经过一阵惊慌,很快又平静了:“被老鼠咬断树干跌死,总比被狮子咬好吧?”情绪平复下来后,他感到肚子有点饿了,看到梅子长得正好,就采了一些吃起来。他觉得一辈子从没吃过那么好吃的梅子。他心想:“既然迟早都要死,不如在死前好好睡上一觉吧!”他为自己找到一个三角形的枝桠,在树上沉沉地睡去。睡醒之后,他发现黑白老鼠不见了,老虎、狮子也不见了。他顺着树枝,小心翼翼的攀上悬崖,终于脱离险境。原来就在他睡熟的时候,饥饿的老虎按捺不住,跃下悬崖。黑白老鼠听到老虎的吼声,惊慌逃走了。跳下悬崖的老虎与崖下的狮子经过激烈打斗,双双负伤而遁。【心语】由我们诞生的那一刻开始,苦难,就像饥饿的老虎一直追赶着我们;死亡,就像一头凶猛的狮子,一直在悬崖的尽头等待;而白天和黑夜的交替,就像一黑一白两只老鼠,不停地撕咬着我们暂时栖身的生活之树。总有一天我们会落入狮子的口中。既然知道了生命中最坏的结果不过就是死亡,唯一的路,就是安然地享受树上甜美的果子,然后安心地睡觉。存着这种单纯的心——少一些欲望,多一点赤子之心,我们的生活才是健康、美好的。

大神文章

【1】Java多线程编程核心技术(第一章笔记)
【2】Java多线程-线程的生命周期
【3】java 线程1 线程分类
【4】《Java多线程编程核心技术》读书笔记
【5】java之yield(),sleep(),wait()区别详解-备忘笔记
【6】Java用户线程和守护线程
【7】yield(),sleep()以及wait()的区别(修正版)
【8】sleep() wait() yield() join()用法与区别

其他

如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎点赞、顶、欢迎留下宝贵的意见、多谢支持!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huangwenyi1010/article/details/66474460

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法