中国采购网官方网站/宁德市中医院

中国采购网官方网站,宁德市中医院,给赌博网站做设计,设计网站页面要多少钱一.进程和线程1.什么是进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内比如:同时打开QQ,Xcode,系统就会分别启动2个进程通过”活动监视器”可以查看Mac系统中所开启…

一.进程和线程

1.什么是进程

进程是指在系统中正在运行的一个应用程序

每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内

比如:同时打开QQ,Xcode,系统就会分别启动2个进程

通过”活动监视器”可以查看Mac系统中所开启的进程

2.什么是线程

1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)

线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行

比如使用网易云音乐播放音乐、下载音乐,都需要在县城中执行3.线程的串行

1个线程中任务的执行是串行的

如果要在1个线程中执行多个任务,那么只能一个一个地按顺序执行这些任务

也就是说,在同一时间内,1个线程只能执行1个任务

比如:网易云音乐在一个线程中下载音乐,如果选择每次只下载一首,那么下载音乐这个线程会串行执行

二:多线程

1.什么是多线程

1个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务

进程 ->网易云音乐,线程->网易云音乐播放、下载线程

多线程技术可以提高程序的执行效率

比如需要下载100首音乐,每首下载时间需要1分钟

单进程需要100分钟全部下载完

开启三条线程下载,只需要33分钟下载完成(不考虑网络限制)

2.多线程原理

同一时间,CPU只能处理1条线程,只有1条线程在工作(执行)

多线程(并发)执行,其实是CPU快速的在多条线程之间调度(切换)

如果CPU调度多线程的时间足够快,就造成了多线程并发执行的假象

如果多线程非常非常多,会发生什么情况

** CPU会在N多线程之间调度,CPU会累死,消耗大量的CPU资源

** 每条线程被调度的频次会降低(线程的执行效率降低)

3.多线程的优缺点

多线程的优点

*  能适当提高程序的执行效率

*  能适当提高资源利用率(CPU、内存利用率)

多线程的缺点

* 开启线程需要占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB)

* 启用大量的线程,会占用大量的内存空间,降低程序的性能

* 线程越多,CPU在调度线程上的开销就越大

* 程序设计更加复杂:比如线程之间的通信、多线程的数据共享

4.多线程在iOS开发中的应用

主线程:一个iOS程序运行之后,默认会开启1条线程,称为”主线程“或”UI线程“

主线程的主要作用

** 显示\刷新UI界面

** 处理UI事件(比如点击事件、滚动事件、拖拽事件等)

主线程的使用注意:别将比较耗时的操作放到主线程中

耗时操作会卡住主线程,严重影响UI的流畅度,给用户一种卡的不好体验

.如果将耗时操作放在主线程:主线程的的UI无法更新,按钮不可用,必须等耗时操作完成才有反应

c53538880524

****  如果将耗时操作放在子线程(后台线程、非主线程)

c53538880524

三.iOS中多线程的实现方案

c53538880524

四.对多线程开辟的详细介绍

注意:一旦线程停止(死亡)了,就不能再次开启任务,必须开辟新的线程

**.多线程的安全隐患:资源共享

<1>.1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源

<2>. 比如多个线程访问同一个对象、同一个变量、同一个文件

<3>.当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题

安全隐患解决– 互斥锁 : 加锁是消耗资源的

(1).互斥锁使用格式

c53538880524

(2).互斥锁的优缺点

优点:能有效防止因多线程抢夺资源造成的数据安全问题

缺点:需要消耗大量的CPU资源

(3).互斥锁的使用前提:多条线程抢夺同一块资源

(4).相关专业术语:线程同步

线程同步的意思是:多条线程在同一条线上执行(按顺序地执行任务)

互斥锁,就是使用了线程同步技术

(5)、互斥锁的使用范围:尽量要小,范围大,效率就会差。

抢票资源的解决问题

c53538880524

抢票资源的解决问题

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

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

相关文章

websockets_使用用户名/密码和Servlet安全性保护WebSockets

websocketsRFC 6455提供了WebSockets安全注意事项的完整列表。 其中一些是在协议本身中烘焙的&#xff0c;其他一些则需要更多有关如何在特定服务器上实现它们的解释。 让我们来谈谈协议本身内置的一些安全性&#xff1a; HTTP请求中的Origin头仅包含标识发起该请求的主体&…

android横向排列 间隙,Android开发消除横向排列的多个Button之间的空隙

一.问题重述摘要里描述的可能不太清楚&#xff0c;问题如下图&#xff1a;如何消除Button1和Button2之间的空隙&#xff0c;以及Button与左右边界之间的空隙&#xff1f;二.问题根源这里出现的空隙其实是Button的背景图片中的透明部分&#xff0c;如下图&#xff1a;(两个按钮被…

电脑的发展史_互联网发展史 硅谷传奇之 IBM

2节 硅谷传奇之 IBM为什么要讲IBM呢&#xff1f;互联网是因计算机而诞生的&#xff0c;互联网的发展史与电脑的发展史有很多是重叠的&#xff0c;而IBM是上世纪60年代八大电脑公司之首。在互联网席卷全球之前&#xff0c;在硅谷是以无线电、军事技术、硅晶体管而闻名的。这些东…

android汉字田字格,画一个简单的田字格

image.png上代码package com.nick.customview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.support.annotation.Nullable;import android.sup…

xp定时关机软件_好用又免费的电脑定时工具,不用得后悔

现在利用电脑办公的人有多少&#xff0c;举个手示意下&#xff01;&#xff01;&#xff01;给电脑设置定时关机&#xff0c;可以方便我们不在电脑前完成关机操作。那么&#xff0c;如何设置定时关机呢&#xff1f;如果要取消&#xff0c;定时关机又如何取消&#xff1f;有的人…

apache camel_Apache Camel请向我解释这些端点选项的含义

apache camel在即将发布的Apache Camel 2.15中&#xff0c;我们使Camel更智能。 现在&#xff0c;它可以充当老师&#xff0c;并向您说明其配置方式以及这些选项的含义。 Camel可以做的第一课是告诉您如何配置所有端点以及这些选项的含义。 接下来我们要学习的课程是让Camel解…

android照片备份软件下载,照片备份云相册app下载-照片备份云相册下载V1.9安卓版-西西软件下载...

这款软件主要为安卓手机用户提供照片图片等备份的服务&#xff0c;通过照片备份云相册app可以轻松的为更多手机空间不够的用户清理出手机空间&#xff0c;照片图片等的是最不容易发现占用空间的&#xff0c;现在有了照片备份云相册app就能轻松让手机内存足够使用哦。照片备份云…

手机照片导入电脑步骤_如何将手机中的照片、视频快速的保存到U盘上?3分钟教你详细步骤...

手机拍照功能是越来越强大了。生活中&#xff0c;不少的朋友都喜欢拍照。拍着拍着不知不觉就存了许多的照片&#xff0c;占用很大的空间。手机照片和视频都是我们非常重要的回忆&#xff0c;许多人都不愿意删除。为了节省我们手机的空间&#xff0c;许多人都会选择将手机照片导…

筒仓计算表格_身份反模式:联邦筒仓和意大利面条身份

筒仓计算表格分析公司Quocirca的最新研究证实&#xff0c;现在许多企业的外部用户比内部用户更多&#xff1a;在欧洲&#xff0c;有58&#xff05;的企业直接与其他企业和/或消费者的用户进行交易&#xff1b; 仅在英国&#xff0c;这一数字就达到了65&#xff05;。 如果回顾历…

C/C 宏替换详解

1. 基本形式#define name replacement_text 复制代码通常情况下&#xff0c;#define 指令占一行&#xff0c;替换文本是 define 指令行尾部的所有剩余部分&#xff0c;但也可以把一个较长的宏定义分成若干行&#xff0c;这时需要在待续的行末尾加上一个反斜杠符 。宏定义也可以…

win10更新助手_快升级!win10精简版不到10G,比win7还干净流畅,无需更新!

在整个PC端操作系统中&#xff0c;最成功的得主自然要说微软。毕竟微软发布的XP、win7操作系统那可是风靡全球&#xff0c;占用的用户资源十分庞大。单单因为这两个操作系统就吸引到了足够的用户&#xff0c;整个装机下载量可真不是盖的&#xff0c;说微软是PC端的"老大&q…

openshift命令_使用命令行工具创建WildFly OpenShift应用程序

openshift命令通过使用快速入门&#xff0c;可以轻松地在OpenShift上配置WildFly的新实例。 只需单击一下&#xff0c;您就可以准备就绪&#xff01; 通常&#xff0c;OpenShift的高级用户使用命令行工具 。 但是&#xff0c;您无法使用CLI工具创建WildFly墨盒。 但现在已解决…

redis缓存原理与实现_SpringBoot整合Redis缓存,手把手教你一步一步实现

推荐学习分布式大全&#xff1a;反向代理/Redis/中间件/MySQL/消息&#xff0c;挑战阿里P7必备都是“Redis惹的祸”&#xff0c;害我差点挂在美团三面&#xff0c;真是“虚惊一场”微服务架构之春招总结&#xff1a;SpringCloud、Docker、Dubbo与SpringBoot一、基本概况为什么使…

C 实现高性能内存池

版权一、概述在 C/C 中&#xff0c;内存管理是一个非常棘手的问题&#xff0c;我们在编写一个程序的时候几乎不可避免的要遇到内存的分配逻辑&#xff0c;这时候随之而来的有这样一些问题&#xff1a;是否有足够的内存可供分配? 分配失败了怎么办? 如何管理自身的内存使用情况…

docker $PWD路径_Docker安装Jenkins+Shell脚本自动化部署项目

本文同名博客老炮说Java&#xff1a;https://www.laopaojava.com/&#xff0c;每天更新Spring/SpringMvc/SpringBoot/实战项目等文章资料SentinelNacos 是微服务环境搭建必不可少的两个组件&#xff0c;这里给大家推荐一套微服务教程&#xff1a;SpringCloud微服务电商项目教程…

flyme Android7.0 root,手把手教你如何免ROOT卸载Flyme7系统自带APP

本教程需要使用adb&#xff0c;adb的全称为Android Debug bridge&#xff0c;就是起到调试桥的作用。借助adb工具&#xff0c;我们可以管理设备或手机模拟器的状态。本教程需要使用adb&#xff0c;adb的全称为Android Debug bridge&#xff0c;就是起到调试桥的作用。借助adb工…

C语言 -- 字符串中根据特定字符(串)分割

版权C语言字符串操作函数有很多&#xff0c;这里举出需要用到的&#xff0c;其他请自行查找。1、len strlen(p) &#xff1b;//取字符串长度 原型&#xff1a;size_t strlen(const char *s); 功能&#xff1a;统计字符串string中字符的个数&#xff0c;字符串的长度在 size_t…

javaone_JavaOne 2014:会议与合同利益冲突

javaone杜克街咖啡馆&#xff0c;工程师可以在街上进行走廊交谈 。 与签约不兼容 我的第11届JavaOne会议&#xff08;2004年至2014年为11 10 1&#xff09;非常出色。 值得参加此活动并结识社区中所有的人。 现在&#xff0c;这里是绅士的&#xff0c;但 。 除了经济上的明显…

什么流读取MultipartFile_深入理解并运用Node中的IO模型流

在 NodeJs 中&#xff0c;流随处可见&#xff0c;读/写文件流&#xff0c;HTTP请求/返回流&#xff0c;stdin/stdout流。理解并运用好流会让你的Node更具力量。Streamlib/_stream_readable.jslib/_stream_writable.jslib/_stream_tranform.jslib/_stream_duplex.js流主要有可读…

C 线程的创建

前言线程创建很容易&#xff0c;直接调用std::thread&#xff0c;就创建一个新线程了。该线程拿到任务后立即开始执行。线程的创建者&#xff08;父线程&#xff09;必须管理创建的线程&#xff08;子线程&#xff09;&#xff0c;应该等到子线程完成其任务或者让子线程从自己身…