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

自带浏览器建设银行网站打不开东莞网站建设营销网站

自带浏览器建设银行网站打不开,东莞网站建设营销网站,源码网站有哪些,帝国网站制作广告一、线程和进程对应的问题 **1.进程:**CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可…

一、线程和进程对应的问题

**1.进程:**CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。
**2.线程:**IO密集型指的是系统的CPU性能相对硬盘、内存要好很多,此时,系统运作,大部分的状况是CPU在等I/O (硬盘/内存) 的读/写操作,此时CPU Loading并不高。

二、进程

定义:进程是程序在某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位。
每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位)
CPython解释器本身就不是线程安全的,因此有全局解释器锁(GIL),一次只允许使用一个线程执行Python字节码。因此,一个Python进程通常不能同时使用多个CPU核心。
在这里插入图片描述
Python中的多进程实现:
futures.ProcessPoolExecutor类。现在流行multiprocessing模块。

import multiprocessing# 定义一个函数,用于在多个进程中执行任务
def worker_function(index):print(f"Worker {index} started")result = index * 2print(f"Worker {index} result: {result}")print(f"Worker {index} finished")if __name__ == "__main__":# 创建一个进程池,可以指定要创建的进程数(这里为3)num_processes = 3pool = multiprocessing.Pool(processes=num_processes)# 使用进程池执行任务# 这里将任务分配给三个进程并行执行pool.map(worker_function, range(num_processes))# 关闭进程池,等待所有进程完成pool.close()pool.join()print("All workers have finished")

还有一种更简单的,使用

https://zhuanlan.zhihu.com/p/509084322

三、线程

进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。
在这里插入图片描述
线程和进程都具有一砂锅五个状态。
Python中的实现:

import threading# 定义一个函数,用于在线程中执行任务
def worker_function(thread_id):print(f"Thread {thread_id} started")# 在这里可以执行一些任务print(f"Thread {thread_id} finished")if __name__ == "__main__":# 创建多个线程num_threads = 3threads = []for i in range(num_threads):thread = threading.Thread(target=worker_function, args=(i,))threads.append(thread)# 启动所有线程for thread in threads:thread.start()# 等待所有线程完成for thread in threads:thread.join()print("All threads have finished")

四、二者的区别

多进程和多线程都是用于并发编程的技术,但它们有一些共性和区别:

共性:

  1. 并发性: 无论是多进程还是多线程,它们都允许在程序中执行多个任务,并在不同的执行上下文中交替执行这些任务,从而实现并发性。

  2. 共享资源: 多进程和多线程都可以访问共享的内存资源,这允许多个任务之间进行数据交换和共享数据。

  3. 并行执行: 在多核或多 CPU 的系统上,多进程和多线程都可以实现真正的并行执行,从而提高程序的性能。

区别:

  1. 独立性:

    • 多进程:每个进程都有独立的内存空间和 Python 解释器,它们之间彼此独立,因此一个进程的错误通常不会影响其他进程。
    • 多线程:所有线程共享同一进程的内存空间,它们之间共享全局变量和数据。因此,一个线程的错误可能会影响其他线程和整个进程。
  2. 创建和销毁:

    • 多进程:创建和销毁进程通常比较慢,并且需要更多的系统资源,因为每个进程都有独立的内存空间。
    • 多线程:创建和销毁线程通常更快,因为它们共享进程的内存空间,但线程之间的管理和同步可能更复杂。
  3. 并发性和并行性:

    • 多进程:可以在多个 CPU 上并行执行,因此适用于 CPU 密集型任务。然而,多进程之间的通信开销相对较高。
    • 多线程:在单个 CPU 上的并发性较强,适用于 I/O 密集型任务,但由于 GIL 的存在,多线程不能实现真正的多核并行。
  4. 同步和锁:

    • 多进程:通常需要使用进程间通信(Inter-Process Communication,IPC)机制来实现进程之间的协作,例如管道、队列和共享内存。
    • 多线程:线程之间可以更容易地共享数据,但需要使用锁(例如互斥锁)来确保线程安全。
  5. 资源开销:

    • 多进程:通常比多线程消耗更多的内存和系统资源。
    • 多线程:相对较轻量,消耗的资源较少。
http://www.yayakq.cn/news/895509/

相关文章:

  • 做兼职看什么网站好成都网站搭建公司哪家好
  • 网站建设 主机选择pinterest的优点
  • 网站建设公司(深圳信科)白城学习做网站的学校
  • 盈科互动网站建设制作公司怎样进行网络推广效果更好
  • 网站建设咨询有客诚信网站开发易语言
  • 菜户营做网站做字幕模板下载网站有哪些
  • 为什么做的网站别的浏览器打不开怎么办公司做网站注意什么
  • wap网站界面上海装修网站大全
  • 如何创建网站站点wordpress固定连接无法显示
  • 建设项目水资源论证网站tp框架做响应式网站
  • 彩票网站建设 极云闵行西安网站建设
  • 网站内页怎么做做网站必需要在工商局备案吗
  • 网站建设是啥工作网站分析案例
  • 烟台微网站建设网络方案怎么写
  • 酉阳网站建设国外网络推广
  • 网站如何做淘宝支付宝清远建设局网站
  • 漳州做网站六六六博大a优微信小程序搭建平台有哪些
  • 河南省住房和城乡建设厅网站查证有什么wordpress
  • 厦门网站建设 首选猴子网络哪个全球购网站做的好
  • asp网站开发技术总结与收获河南郑州消费情况
  • 电商网站用什么做的可以做哪些网站有哪些内容吗
  • 东莞建筑建设网站建设学软件开发需要学什么
  • jsp与asp做的网站wordpress vip system
  • 株洲专业网站建设品牌排版网页设计教程
  • 做音乐的网站网站程序模板下载
  • 贵州两学一做网站PS做任务的网站
  • 山东省建设科技协会网站首页陕西省建设厅安全证考试官网
  • 西宁网站建设排名免费网站安全软件大全下载安装
  • 如何入侵网站后台广州淘宝运营培训
  • 产品展示网站php源码会员管理网站ASP建设