9:00——20.30课堂笔记 '''线程和进程''' # 线程是程序调度的最小单元,也是CPU调度的最小单元 from multiprocessing import Process import os,time def run(name): print('运行子进程%s(%s)'%(name,os.getpid())) def run2(name2): print('运行子进程%s(%s)'%(name2,os.getpid())) if __name__ == "__main__": print('当前进程是%s'%os.getpid()) # run('test') #这行代码仍然在当前进程中执行 # 创建一个新的进程 p = Process(target=run,args=('test2',)) # 开始执行新进程 print('开始执行子进程') p.start() #time.sleep(1) #将子进程加入到主进程当中 p.join() print('子进程执行完毕') p2 = Process(target=run2,args=('test',)) print('开始执行子进程2') p2.start() p2.join() print('子进程2执行完毕') from multiprocessing import Pool import os,time,random def task(name): print('运行任务%s(%s)'%(name,os.getpid())) start = time.time() #随机休眠1-3秒 time.sleep(random.randint(1,3)) end = time.time() print('任务%s耗时为%.2f秒'%(name,(end-start))) if __name__ == '__main__': print('主进程是%s'%os.getpid()) #初始化进程池 pool = Pool(4) for i in range(6): #将任务交给进程池去执行 pool.apply_async(task,args=('任务%d'%i,)) pool.close() pool.join() '''线程''' import threading,time def task(name): print('线程%s正在运行...'%threading.current_thread().name) print(name) if __name__ == "__main__": print('当前主线程是%s'%threading.current_thread().name) #task() #创建一个新线程 t = threading.Thread(target=task,args=('传入一个参数',)) t.start() t.join() print('主线程%s运行结束'%threading.current_thread().name) '''访问数据库''' import mysql.connector #连接shujuku db = mysql.connector.connect(host='localhost',user='root',password='123456',port='3301') #获取游标 cursor = db.cursor() #创建数据库 cursor.execute('CREATE DATABASE JY40') import mysql.connector db = mysql.connector.connect(host='localhost',user='root',password='123456',port='3301',database='JY40') cursor = db.cursor() #添加一个user表 cursor.execute('''CREATE TABLE IF NOT EXISTS USER( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(50) UNIQUE NOT NULL, pwd VARCHAR(50) NOT NULL )''') #添加数据 cursor.execute('''INSERT INTO USER(id,NAME,pwd)VALUES (1,'tom','123'), (2,'zhangsan','124'), (3,'lisi','345')''') #提交数据 db.commit() ''' ACID: Atomic 原子性 整体性:要么一起执行,要么一起不执行 Consistence 一致性 前后保持一致 Isolation 隔离性 封闭,一个操作,另一个等前面的操作完在做 Duration 持久性 '''
|