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

旅游网站建设公司网站权重难做

旅游网站建设公司,网站权重难做,南京 推广 网站建设,网络推广深圳1.多线程 线程是程序执行的最小单位,一个进程至少有一个线程。 提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。 进程之间不能共享内存,但线程之间共享内存非常容易。 Python 常用的多线程库有threading 和…

1.多线程

线程是程序执行的最小单位,一个进程至少有一个线程。
提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。
进程之间不能共享内存,但线程之间共享内存非常容易。
Python 常用的多线程库有threading 和 Queue,threading 模块的Thread 类是主要的执行对象.
在这里插入图片描述
住线程和子线程是并行工作的:
在这里插入图片描述

示例:

from threading import Thread
from time import sleep, ctimedef func(name, sec):print('---开始---', name, '时间', ctime())sleep(sec)print('***结束***', name, '时间', ctime())# 创建 Thread 实例
t1 = Thread(target=func, args=('第一个线程', 1))
t2 = Thread(target=func, args=('第二个线程', 2))# 启动线程运行
t1.start() #两个线程在有足够运行空间的前提下会同时运行
t2.start()# 等待所有线程执行完毕
t1.join()  # join() 等待线程终止,要不然一直挂起
t2.join()

start() 是方法用来启动线程的执行。
join() 方法是一种自旋锁,它用来等待线程终止。也可以提供超时的时间,当线程运行达到超时时间后结束线程,如join(500),500毫秒后结束线程运行。

运行结果,程序总共运行两秒,如果程序按照线性运行需要3秒,节约1秒钟

—开始— 一 时间 Fri Nov 29 11:34:31 2019
—开始— 二 时间 Fri Nov 29 11:34:31 2019
结束 一 时间 Fri Nov 29 11:34:32 2019
结束 二 时间 Fri Nov 29 11:34:33 2019

在下面程序中,住线程执行完毕了,子线程依旧在执行,是由于子主线程并行执行造成的

import time
import threadingdef work():for i in range(10):print('work...')time.sleep(0.2)if __name__ == '__main__':# 创建子进程work_thread = threading.Thread(target=work)# 启动线程work_thread.start()# 延时1stime.sleep(1)print('主线程执行完毕')

可以通过守护线程的方法来实现,子线程可以随主线程注销而注销
work_thread = threading.Thread(target=work, daemon=True)
或者work_thread.setDaemon(True)

import time
import threadingdef work():for i in range(10):print('work...')time.sleep(0.2)if __name__ == '__main__':# 创建子线程并设置守护主线程work_thread = threading.Thread(target=work, daemon=True)# 启动线程work_thread.start()# 延时1stime.sleep(1)print('主线程执行完毕')

2.多进程

进程是资源分配的最小单位,一个程序至少有一个进程。
进程间不共享全局变量,即使变量名是相同的,其各自指向的地址也不同
在这里插入图片描述创建子进程会对主进程资源进行拷贝,也就是说子进程是主进程的一个副本,好比是一对双胞胎,之所以进程之间不共享全局变量,是因为操作的不是同一个进程里面的全局变量,只不过不同进程里面的全局变量名字相同而已。

用的库是multiprocessing

和多线程一样,进程和主进程是并行执行的,所以在主进程执行完后,子进程仍然在执行工作函数中的任务。
在这里插入图片描述

多进程也有守护进程机制:work_process.daemon = True
示例

import multiprocessing
import time# 工作函数
def work():for i in range(10):print('工作中...')time.sleep(0.2)if __name__ == '__main__':# 创建子进程work_process = multiprocessing.Process(target=work)# 设置守护主进程,主进程退出后子进程直接销毁,不再执行子进程中的代码work_process.daemon = True# 启动子进程work_process.start()# 延迟1stime.sleep(1)print('主进程执行完毕')

3.总结

多进程和多线程的区别:进程是分配资源的最小单位,线程是程序执行的最小单位,进程负责分配资源,线程负责执行,线程可以和其他同属一个进程的线程共享资源。

参考:

https://zhuanlan.zhihu.com/p/91601448
https://zhuanlan.zhihu.com/p/637105176

http://www.yayakq.cn/news/572492/

相关文章:

  • asp.net网站开发实例教程网上购物流程
  • 普通营业执照有做网站条件吗网站维护属于什么部门
  • 做性的网站有哪些html编辑器dw
  • 个人网站建设安全怎么样建设自己网站
  • 苏州淘宝运营培训大连做优化网站哪家好
  • 绵阳专业网站建设公司张家口万全区建设网站
  • 怎么查询网站的备案号微信小程序开发哪个好
  • 网站如何不被收录装修设计费
  • 做海淘是在哪个网站好wordpress读取文章样式
  • 天津网站设计制作公司我做的网站不知道网站怎么办啊
  • 深圳罗湖网站制作公司photoshop培训班
  • 乐清网站网站建设网站建设与管理视频教程
  • jsp网站建立黑河百姓网免费发布信息网
  • 滴道网站建设住建部和城乡建设官网
  • 泉州企业网站建站模板2345电脑版网址导航
  • 网站空间免费试用国家为什么不禁止外包
  • 中企动力做的网站经常打不开中国建设银行官方网站汇率
  • 专门教做衣服的网站网站架构文案
  • 网站空间虚拟主机续费电商运营工作内容
  • 优秀网站设计要素国内卡一卡二卡三网站视频
  • 帮人做网站好挣吗做视频网站怎么挣钱
  • 做网站专用图标如何起手做网站项目
  • 企业融资需求怎么写首页关键词排名优化
  • 成都画时网站建设佛山企业网站建设公司推荐
  • 有什么ae做动图的网站怎么在四川建设厅网站上进行劳务合同备案
  • 制作网站要钱吗全网vip视频网站怎么做
  • 网站建设栏目图片怎样建立一个网络销售平台
  • 网站备案查询 美橙常德网站开发网站运营
  • 自己做网站翻译服务器 - 添加网站苍溪规划和建设局网站
  • 佛山网站优化效果网站建设采用的技术