zuoye

from threading  import  Thread
from threading  import Lock
lock = Lock ()
def pl():
    lock.acquire()
    with open('jkl',mode= 'r+') as ff:

        k = ff.read()

        k = int(k)
        k += 1
        print('zhege%s'%k)
        pp = str(k)
    with open('jkl',mode = 'r+') as ff:
        ff.write(pp)
    lock.release()
list2 = []
if __name__ == '__main__':
    for i in range(20):
        obj = Thread (target= pl)
        list2.append(obj)
    for i in list2:
        i.start()

1.创建一个文件,文件的第一行写入0,再创建20个任务线程,他们同时打开文件并将文件第一行读出来,加1写回去(将文件原有值覆盖掉)请保证20个任务线程完成后,文件中的第一行一定是20!

from threading  import  Thread
from threading  import Lock


def issushu(i):
    for j in range(2,i):
        if i % j == 0:
            return False
    else:
        return True

def worker(aa):
    while True :
        try:
            x = next(aa)
        except :
            break
        else:
            if issushu(x):
                print(x)

num = iter(range(100,301))
lista = []
for i in range(4):
    t = Thread (target= worker,args = (num,))
    lista.append(t)

for t in lista:
    t.start()

for t in lista :
    t.join()

yield 是生成器关键字,能有效节省系统空间

def fun():
for i in range(20):
    x=yield i
    print('good',x)

if __name__ == '__main__':
a=fun()
a.__next__()
x=a.send(5)
print(x)

 

1.什么是面向对象的mro

print(c.__mro__)

 可以打出类的继承顺序

 

2.json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办

打开文件时,写上encoding'utf - 8'

 

9.如何在一个function里面设置一个全局的变量

 

利用global 可以对全局变量进行修改

 

10.python下多线程的限制以及多进程中传递参数的方式

 

转载于:https://www.cnblogs.com/huweitao/p/10165937.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值