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

做网站的基本功能佛山网站建设外包

做网站的基本功能,佛山网站建设外包,网站开发与服务合同,济南做网站推广哪家好【1】线程的概念 1.线程--进程会得到一个内存地址#xff0c;进程是资源分配的基本单位线程才是真正进程里处理数据与逻辑的东西进程---》被分配一定的资源线程---》利用进程资源处理数据与逻辑 【2】进程和线程关系#xff1a; 进程与进程之间是竞争关系#xff0c;竞…【1】线程的概念 1.线程--进程会得到一个内存地址进程是资源分配的基本单位线程才是真正进程里处理数据与逻辑的东西进程---》被分配一定的资源线程---》利用进程资源处理数据与逻辑 【2】进程和线程关系 进程与进程之间是竞争关系竞争内存空间和资源线程和线程之间协作关系共同完成某个任务 【3】进程和线程开销问题 进程 线程 原因一个进程相当于一个工作车间一个线程只是一个进程里的流水线线程只是在进程已经申请有的资源上进行的处理 【4】进程和线程的区别 1. 线程共享创建它的进程的地址空间 进程具有自己的地址空间。 2.线程可以直接访问其进程的数据段 进程具有其父进程数据段的副本。 3.线程可以直接与所在进程中的其他线程通信 进程必须使用进程间通信与同级进程进行通信。 4.新线程很容易创建 新进程需要复制父进程。 5.线程可以对同一进程的线程行使相当大的控制权。 进程只能控制子进程。# 创建线程----多线程和多进程只有在阻塞的时候才能到别的地方去运行【5】创建线程的方式 方式一 引入模块直接创建 from threading import Thread def work():... if __name__ __main__:t1Thread(targetwork)t1.start() 方式二 继承Thread类重写run方法 继承了之后我的 New_Thread类他实例化的对象就是一个线程 from threading import Thread class New_Thread(Thread): ​def __init__(self):super().__init__()def run(self):print(我是线程) if __name__ __main__:tNew_Thread()t.start() 【6】多线程共享数据多进程之间的数据是隔离开的 通过例子不难发现线程中的数据进行修改在其他线程中会变 但是进程中的数据却不会 from multiprocessing import Process from threading import Thread num10 def work():# 由于在局部修改全局的变量要对局部的该变量进行等级提升global numprint(f改变前num{num})num1print(f改变后num{num}) def main():for i in range(4):# threadThread(targetwork)# thread.start()# thread.join()processProcess(targetwork)process.start()process.join()print(f当前num{num}) if __name__ __main__:main() 【7】线程的查看的pid与ppid与进程的区别 线程的pid是他所属的进程因为都是由同一个进程开的线程所以他的pid是相同的,ppid相同由于是一个主进程开的进程里的线程 每个进程有每个进程的不一样的pid,但又相同的ppid ​ def work(name):print(f当前{name}的pid{os.getpid()})print(f当前{name}的ppid{os.getppid()}) def main():for i in range(2):# thThread(targetwork,args(f线程{i1},))# th.start()# th.join()当前线程1的pid13532当前线程1的ppid2792当前线程2的pid13532当前线程2的ppid2792当前主进程的pid13532pProcess(targetwork,args(f进程{i1},))p.start()p.join()当前进程1的pid10412当前进程1的ppid11060当前进程2的pid16796当前进程2的ppid11060当前主进程的pid11060print(f当前主进程的pid{os.getpid()}) if __name__ __main__:main() 【8】线程服务器并发 服务端 import socket from socket import SOL_SOCKET,SO_REUSEADDR from threading import Thread ​ ​ class Server():def __init__(self):self.serversocket.socket()self.server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)self.server.bind((127.0.0.1,8080))self.server.listen(5)staticmethoddef work(sock):while True:datasock.recv(1024)if data.decode():breakprint(data.decode())sock.send(f你好{data.decode()}.encode())def main(self):while True:sock,addrself.server.accept()tThread(targetself.work,args(sock,))t.start()#t.join() if __name__ __main__:tServer()t.main() 客户端 import socket clientsocket.socket() client.connect((127.0.0.1,8080)) while True:msginput(请输入》》)client.send(msg.encode())dataclient.recv(1024)print(data.decode()) 【9】守护线程 主线程结束运行后不会马上结束而是等待其他非守护子线程结束之后才会结束 守护子线程会跟着主线程一起死 例子 from threading import Thread from multiprocessing import Process import timedef foo():print(f this is foo begin)time.sleep(1)print(f this is foo end)def func():print(f this is func begin)time.sleep(3)print(f this is func end)def main():t1 Thread(targetfoo)t2 Thread(targetfunc)t1.daemon Truet1.start()t2.start()print(f this is main)if __name__ __main__:main()# this is foo begin# this is func begin# this is main# this is foo end# this is func end 【十】多进程和多线程之间比较 多进程--》适合计算密集型操作 多线程--》适合IO密集型操作
http://www.hkea.cn/news/14583140/

相关文章:

  • 企业网站标题优化现在流行用什么语言做网站
  • 长宁手机网站建设学校网站建设项目背景
  • 成免费crm特色vip自己的网站做怎样的优化调整
  • 兰州做网站的宣传推广策略有哪些
  • 网站建设收费标准教程网站模块名称
  • 好公司网站建设有哪些网站是织梦做的
  • 暴走漫画网站建设中模板天元建设集团有限公司张琥超
  • 河南省百城建设提质网站wordpress缩略图不清晰怎么办
  • 海报自动设计网站网站建设带后台
  • 本网站仅支持ie浏览器百度广告联盟官网下载
  • 应聘网站建设工程师西宁市网站设计企业
  • 商城网站建设市场分析论文wordpress 地址 固定
  • 青羊区建设和交通网站凡客优品官方网站
  • 网站没有做适配 怎么办WordPress 更改H标签
  • 礼品网站如何做seo优化诊断
  • 建设部标准定额网站玉树电子商务网站建设公司
  • 精品网站设计网站建设可行性研究报告
  • j网站开发建筑公司需要哪些资质证书
  • 白云区建网站公司公众号小程序商城
  • 个人网站建设心得vue响应式网站开发
  • iis打开网站变成下载濮阳做网站 汉狮网络
  • 大连 网站制作 外贸阿里云 wordpress 响应时间
  • 在民办医院做网站编辑怎么样长沙市做网站
  • 网站后台密码修改鄢陵网站建设
  • 目前什么编码做网站最好手机网站建设联系方式
  • 网站设计数据库怎么做wordpress显示作者信息
  • 怎么自己做视频网站wordpress取消默认图片
  • 成都网站开发哪家公司好图片库网站建设报价
  • 如何在百度上搜索到自己的网站双重预防机制信息化平台
  • 做字典网站开发建材类网站模板