上一页 1 2 3 4 5 6 ··· 13 下一页
摘要: 使用fork完成并发 【1】 创建套接字,绑定,监听 【2】 等待接受客户端连接请求 【3】创建新的进程处理客户端请求,父进程继续等待连接其他客户端 【4】 客户端退出对应子进程结束 【osfork-server.py】from socket import * import os,sys impor 阅读全文
posted @ 2021-01-11 16:14 昱成 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 1、进程和线程的区别和联系 【1】两者都是多任务编程的方式,都能够使用计算机的多核 【2】进程的创建删除要比线程消耗更多的计算机资源 【3】进程空间独立,数据安全性好,有专门的进程间通信方法 【4】线程使用全局变量通信,更加简单,但是需要同步互斥操作 【5】一个进程可以包含多个线程,线程共享进程的空 阅读全文
posted @ 2021-01-11 13:49 昱成 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 线程锁 1、创建线程对象 lock = threading.Lock() 2、上锁 lock.acquire() 3、解锁 lock.release() with lock 上锁 import threading a = b = 0 lock = threading.Lock() def value 阅读全文
posted @ 2021-01-11 13:42 昱成 阅读(70) 评论(0) 推荐(0) 编辑
摘要: from threading import Thread from time import sleep a = 1 def foo(): global a a = 1000 def bar(): sleep(1) print("a = ",a) t1 = Thread(target = foo) t 阅读全文
posted @ 2021-01-11 13:39 昱成 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 事件Event 1、创建线程对象 e = threading.Event() 2、事件阻塞函数 e.wait([timeout]) 3、设置事件 e.set() 4、清除事件 e.clear() import threading from time import sleep #共享资源 s = No 阅读全文
posted @ 2021-01-11 13:33 昱成 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 【1】创建父子进程分别表示司机和售票员 【2】当售票员捕捉到SIGINT信号时,给司机发送SIGUSER1信号 此时司机打印 "老司机开车了" 【3】当售票员捕捉到SIGQUIT信号时,给司机发送SIGUSER2信号。 此时司机打印 "车速有点快,系好安全带" 【4】当司机捕捉到SIGTSTP信号时 阅读全文
posted @ 2021-01-11 12:17 昱成 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 创建自己的线程类 【1】继承 Thread 【2】加载父类 __init__ 【3】重写run 【mythread.py】from threading import Thread from time import sleep,ctime class MyThread(Thread): def __i 阅读全文
posted @ 2021-01-10 19:00 昱成 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1、创建线程对象 t = threading.Thread() 功能 : 创建线程对象 参数 : target, 线程函数 name ,线程名称, 默认Thread-1 args, 元组, 给线程函数位置传参 kwargs, 字典, 给线程函数键值传参 返回 : 线程对象 2、启动线程 t.star 阅读全文
posted @ 2021-01-10 16:33 昱成 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1、什么是线程 (thread) 线程也是一种多任务编程方式,可以使用计算机的多核资源。线程被称为轻量级的进程。 2、线程特征: 【1】一个进程可以包含多个线程 【2】线程是计算机内核使用的最小单位 【3】线程也是一个运行过程,也要消耗计算机资源 【4】多个线程共享共用进程的资源 【5】线程也有自己 阅读全文
posted @ 2021-01-10 16:26 昱成 阅读(428) 评论(0) 推荐(0) 编辑
摘要: from multiprocessing import Event 1、创建事件对象 e = Event() 2、事件阻塞 e.wait([timeout]) 功能 : 使进程处于阻塞状态,直到事件对象被set 3、事件设置 e.set() 功能 : 让事件对象变为被设置状态 4、清除设置 e.cl 阅读全文
posted @ 2021-01-10 11:48 昱成 阅读(387) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 13 下一页