网站建设介绍推广用语手机百度最新正版下载

pingmian/2025/10/7 11:03:27/文章来源:
网站建设介绍推广用语,手机百度最新正版下载,贸易公司 网站 扶持,二级域名免费解析学习笔记系列开头惯例发布一些寻亲消息 链接#xff1a;https://baobeihuijia.com/bbhj/contents/3/199561.html 进程和线程:进程是资源分配的最小单位#xff0c;线程是CPU调度的最小单位 进程和线程的主要区别#xff08;总结#xff09;_进程和线程的区别-CSDN博客进程…学习笔记系列开头惯例发布一些寻亲消息 链接https://baobeihuijia.com/bbhj/contents/3/199561.html 进程和线程:进程是资源分配的最小单位线程是CPU调度的最小单位 进程和线程的主要区别总结_进程和线程的区别-CSDN博客进程和线程的区别(超详细)-CSDN博客在操作系统中能同时运行多个进程程序而在同一个进程程序中有多个线程同时执行一个进程中可以有多个线程多个线程共享进程的堆和**方法区 (JDK1.8 之后的元空间)*资源但是每个线程有自己的*程序计数器、虚拟机栈 和 本地方法栈 并行和并发从cpu的角度划分 并发任务调度器使得CPU在同一段时间执行不同的任务,微观串行宏观并行并行在同一时刻cpu做多件事情的能力 异步同步从方法的角度划分 方法的执行需要等待别的结果返回就是同步不需要等待别的方法结果返回就是异步 三种方法创建线程 # 方法一 Thread t new Thread(){public void run(){xxxxx;} }; t.setName(t1) t.start();# 方法二 Runnable r new Runnable(){public void run(){xxxxxx;} } Thread t new Thread(r,t2) t.start();# 方法三简化lambda Runnable t ()-{xxxxx;}; Thread t new Thread(r,t2) t.start();# FutureTask是带有返回值的Runnable# windows tasklist 查看所有进程 jps 显示所有的java进程 taskkill 杀死某个进程# linux ps -fe 查看所有的命令进程 ps -fe | grep java 筛选带有Java的 jps 列出java进程 kill 4202 杀死进程 top 查看进程信息 top -H -p 4262 查看该进程的线程信息 jstack 4262 查看某个时刻的线程信息字节码放到方法区二进制格式 jvm启动main线程并分配main栈帧 线程上下文切换cpu不再执行当前线程转而执行另一个线程代码 线程的cpu时间片用完垃圾回收有更高优先级的线程线程自己调用sleepyieldwaitjoinparksynchronizedlock方法 context switch的时候需要操作系统保存当前线程的状态包括 程序计数器、虚拟机栈中每个栈帧的信息局部变量、操作数栈、返回地址 知识点 start 和 run 的区别start是由别的线程调用从而启动A线程的调用后不会影响该线程的本身进度run是由线程A分配到cpu后才执行的 sleep和yield sleep就是放弃了cpu的使用进入TIMED_WAITING阻塞状态yield让线程从RUNNABLE变为RUNNABLE 就绪状态在哪个线程下写 thread.sleep就是休眠哪个线程状态: NEW — RUNNABLE(可以被cpu调用的) — TIMED_WAITING (休眠)区别cpu仍然会考虑yield但是不会考虑sleep 线程优先级setPriority只是一个提示调度器可以忽略这个信号 join等待线程运行结束哪个线程调用就等待哪个线程 join时间等待 min时间线程执行时间 interrupt 打断阻塞状态sleep wait join 这些打断后isInterrupted重新置为false打断后不能立即查看需要等打断进入到异常块才能看到重置为false public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(() - {log.debug(sleep...);try {Thread.sleep(5000); // wait, join} catch (InterruptedException e) {e.printStackTrace();}},t1);t1.start();Thread.sleep(1000);log.debug(interrupt);t1.interrupt();// 这里如果没有等可能还没有等t1重置为false就打印出trueThread.sleep(1000);log.debug(打断标记:{}, t1.isInterrupted()); }打断正常状态isInterrupted置为true但是线程不会结束需要自己再去判断是否真的要停止获得currentThread(). isInterrupted 判断是否为true Slf4j(topic c.Test12) public class Test12 {public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(() - {while(true) {boolean interrupted Thread.currentThread().isInterrupted();// 没有判断的话就一直不会停止if(interrupted) {log.debug(被打断了, 退出循环);break;}}}, t1);t1.start();Thread.sleep(1000);log.debug(interrupt);t1.interrupt();} }两阶段终止模式A线程如何优雅的停止B线程 Slf4j(topic c.TwoPhaseTermination) class TwoPhaseTermination {// 监控线程private Thread monitorThread;// 停止标记private volatile boolean stop false;// 判断是否执行过 start 方法private boolean starting false;// 启动监控线程public void start() {synchronized (this) {if (starting) { // falsereturn;}starting true;}monitorThread new Thread(() - {while (true) {Thread current Thread.currentThread();// 是否被打断if (stop) {log.debug(料理后事);break;}try {Thread.sleep(1000);log.debug(执行监控记录);} catch (InterruptedException e) {}}}, monitor);monitorThread.start();}// 停止监控线程public void stop() {stop true;monitorThread.interrupt();} }park代码会停止在执行park()的这一行遇到interrupt后才会继续标记为true且以后再遇到park也不会停止除非再次重置为false 不推荐用的 stop强制让线程停止即线程的资源可能还未被释放suspend挂起线程resume 恢复线程运行 主线程和守护线程只要其他非守护线程结束那么即使守护线程没有运行结束也会停止运行垃圾回收线程 t1.setDaemon(true); //设置守护线程线程的状态操作系统层面 初始状态仅语言层面创建线程对象与操作系统未关联可运行状态cpu可以调度运行状态获取了cpu时间片阻塞终止状态 线程六种状态java层面 初始状态new但是尚未startRUNNABLE:start之后线程的运行状态可运行状态阻塞状态BLOCKED拿不到锁WAITINGjoinTIMED_WAITING:sleepTERMINATED终止 package cn.itcast.n3;import lombok.extern.slf4j.Slf4j;import java.io.IOException;Slf4j(topic c.TestState) public class TestState {public static void main(String[] args) throws IOException {Thread t1 new Thread(t1) {Overridepublic void run() {log.debug(running...);}};Thread t2 new Thread(t2) {Overridepublic void run() {while(true) { // runnable}}};t2.start();Thread t3 new Thread(t3) {Overridepublic void run() {log.debug(running...);}};t3.start();Thread t4 new Thread(t4) {Overridepublic void run() {synchronized (TestState.class) {try {Thread.sleep(1000000); // timed_waiting} catch (InterruptedException e) {e.printStackTrace();}}}};t4.start();Thread t5 new Thread(t5) {Overridepublic void run() {try {t2.join(); // waiting} catch (InterruptedException e) {e.printStackTrace();}}};t5.start();Thread t6 new Thread(t6) {Overridepublic void run() {synchronized (TestState.class) { // blockedtry {Thread.sleep(1000000);} catch (InterruptedException e) {e.printStackTrace();}}}};t6.start();try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}log.debug(t1 state {}, t1.getState());log.debug(t2 state {}, t2.getState());log.debug(t3 state {}, t3.getState());log.debug(t4 state {}, t4.getState());log.debug(t5 state {}, t5.getState());log.debug(t6 state {}, t6.getState());System.in.read();} }​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

注册证查询网站诸暨做幕墙连接件的公司

目录 (一)顺序表是一种数据结构 (二)顺序表 (1)顺序表的必要性 (2)顺序表的概念及结构 i,线性表 (3)顺序表的分类 i,顺序表和…

马克杯网站开发北京本地服务信息网

1月18日,阿里云在京发布金融核心系统转型“红宝书”,并推出“金融级云原生工场”,通过新的建设理念和相应的全链路平台技术,以及先进的部署体系,支撑金融机构建设面向未来的新一代分布式智能化核心系统。 阿里云智能新…

如何做pdf电子书下载网站巨野菏泽网站建设

本文来自牛鹭学院学员:邓瑞杰字母处理string.capitalize()返回元字符串,且将字符串第一个字母转为大写,其它字母小写string.title()返回元字符串,且将字符串第一个字母转为大写,其它字母小写string.swapcase()用于对字…

网站建设备案需要什么wix网页制作

Salesforce使用了多种不同的数据库技术来支持其云端CRM(客户关系管理)服务。其中最显著的数据库技术是它自己的多租户数据库系统,称为"Salesforce数据库"或"Force.com数据库"。以下是关于Salesforce数据库的一些关键特点…

宁波市做网站wordpress短信登陆

确定vscode位置 在命令行中输入 which code得到文件地址 进入文件夹后可看到,这是个链接文件,不过无所谓,就用这个地址就行 设置Text Editor 打开setting选择右侧text editor 这里说明了如何进行设置 将自己的地址加进去就行 /usr/share…

订阅号可以建设微网站唐山网站建设七彩科技

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 你说那里有你的梦想,…

兰州企业网站建设多少钱网站做微信支付宝支付接口

来自:金钟路上小码工链接:https://www.cnblogs.com/danbing/p/7459224.html一、什么是负载均衡?互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求;但随着互联网的发展&#…

手机网站自适应屏幕在线详情页制作

废话不多说 , 直接上源码 import csv # 用于读写 CSV 文件 import json # 用于解析 JSON 数据 import requests # 用于发送 HTTP 请求 from lxml import etree # 用于解析 HTML 文档# 定义 DataScraper 类,实现数据抓取功能 class DataScraper:# 初始化函数def…

ie网站建设揭阳智能模板建站

文章目录 前言1. 安装Docker容器2. 拉取镜像3. 验证 前言 docker 离线安装onlyoffice,如在线安装可直接跳过导出导入镜像步骤,拉取后直接运行。 1. 安装Docker容器 下载文件 wget https://download.docker.com/linux/static/stable/x86_64/docker-19…

聊城门户网站临沂网站建设培训班

文章目录 一、常用的构建细节1、触发远程构建2、其他工程构建后触发3、定时构建4、轮询SCM(Poll SCM)二、Git hook自动触发构建(☆☆☆)1、安装插件2、Jenkins设置自动构建3、Gitlab配置webhook三、Jenkins的参数化构建1、项目创建分支,并推送到gitlab上2、在Jenkins添加字…

网站建设知名公司房产最新政策

国标GB28181视频平台EasyGBS是基于国标GB/T28181协议的行业内安防视频流媒体能力平台,可实现的视频功能包括:实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。国标GB28181视频监控平台部署简单、可拓展性强,支持将…

政协网站建设申请函中小企业网站建设报告

目录 一、云服务 1.1 云服务器类型 1.2 云服务案例 二、搭建云服务器的基本步骤 二、云服务的架构(架构) 2.1 层次架构 2.2 云平台统一管理功能 2.3 管理工具 一、云服务 1.1 云服务器类型 云服务(Cloud Services)是一种…

外贸网站开发推广花生壳可做网站吗

Arrays.asList():返回指定数组支持的固定大小列表 首先看下这个方法的源码注释,注意第一句,Returns a fixed-size list backed by the specified array., 意思就是:返回指定数组支持的固定大小列表 所以:…

专做脚本的网站公司宣传册设计样本

【OpenCV 例程200篇】73. 二维连续傅里叶变换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 2.1 二维连续傅里叶变换 设 f(t,z)f(t,z)f(t,z) 是二维连续变量 t,zt, zt,z 的连续函数&#xff…

威联通nas 做网站wordpress页面模板目录文件下载

css设置字体阴影的方法:使用代码【text-shadow:3px 3px 3px #00f;】,【text-shadow】属性应用于阴影文本,语法为【text-shadow: h-shadow v-shadow blur color;】。本教程操作环境:windows10系统、css3版,该方法适用于…

找做网站找那个平台做惠州关键词排名优化

1、查看数据盘在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看。友情提示:若您执行fdisk -l命令,发现没有 /dev/sdb 表明您的云服务无数据盘,那么您无…

公司门户网站设计南宁市网站建设价格

合理使用**copy**与**deepcopy**对于dict和list等数据结构的对象,直接赋值使用的是引用的方式。而有些情况下需要复制整个对象,这时可以使用copy包里的copy和deepcopy,这两个函数的不同之处在于后者是递归复制的。效率也不一样:&a…

建网站英语网站开发需要哪些基础技术

题目描述 Description给出一张n*n(n<100)的国际象棋棋盘&#xff0c;其中被删除了一些点&#xff0c;问可以使用多少1*2的多米诺骨牌进行掩盖。 输入描述 Input Description第一行为n&#xff0c;m&#xff08;表示有m个删除的格子&#xff09;第二行到m1行为x,y&#xff0c…

做网站如何写需求wordpress获得链接

主要知识点 babel读取代码的import语句算法&#xff1a;bfs遍历依赖图为浏览器定义一个require函数的polyfill算法&#xff1a;用记忆化搜索解决require函数的循环依赖问题 Quick Start GitHub&#xff1a;https://github.com/Hans774882968/mini-webpack npm install npm…