package cn.Douzi.ProductConsume; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class ProCon { static int LEN = 3; static public int PROTIME = 1500; static public int CONTIME = 1000; static public int totalData
(1)锁:进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理. 虽然使用加锁的形式实现了顺序的执行,但是程序又重新变成串行了,这样确实会浪费了时间,却保证了数据的安全. (Lock) import json from multiprocessing import Process,Lock ###### 锁 ###### import time import random def get
并发:是指系统具有处理多个任务/动作的能力. 并行:是指系统具有同时处理多个任务/动作的能力. 并行是并发的子集. 同步:当进程执行到一个IO(等待外部数据)的时候. 异步:当进程执行到一个IO不等到数据接收成功后再回来处理. def add(): sum = 0 for i in range(1000000): sum += i print("sum",sum)def mul(): sum2 = 1 for i in range(1,100000): sum2 *= i print(
posix信号量 Link with -lpthread. sem_t *sem_open(const char *name, int oflag);//打开POSIX信号量 sem_t *sem_open(const char *name, int oflag,mode_t mode, unsigned int value); int sem_init(sem_t *sem, int pshared, unsigned int value); posix互斥锁(第七章)int pthread_