1. 时间戳,通常是一个字符序列,唯一地标识某一刻的时间。time模块中,time.time(),返回当前时间的时间戳。
import time print('time.time():%f' %time.time()) #注意要使用%f,表示浮点数 print (time.localtime( time.time() )) #把时间戳浮点数传递给localtime函数,将时间戳转换成目前的时间元组 print (time.asctime( time.localtime(time.time())) )#将目前的时间元组传给asctime函数,变成格式化时间 print (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))#将年月日时间通过设定的格式显示出来
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=28, tm_hour=17, tm_min=20, tm_sec=7, tm_wday=2, tm_yday=87, tm_isdst=0)
Wed Mar 28 17:20:07 2018
2018-03-28 17:20:07
import random print(random.random())
5.
import time,threading #导入time模块和threading模块def loop(): print('thread %s is running...'% threading.current_thread().name) # loop线程的名字是loopthread n=0 while n<5: n+=1 print('thread %s, %s'% (threading.current_thread().name,n)) #注意:%后的参数要用括号括起来 time.sleep(1) #休眠1秒 print('thread %s ended.'% threading.current_thread().name)print('thread %s is running...'%threading.current_thread().name) #主线程的名字是MainThreadt=threading.Thread(target=loop,name='loopthread')#如果不定义name,python会自动命名Thread-1t.start() #线程开始跑t.join()print('thread %s ended.'% threading.current_thread().name)
thread loopthread is running...
thread loopthread, 1
thread loopthread, 2
thread loopthread, 3
thread loopthread, 4
thread loopthread, 5
thread loopthread ended.
thread MainThread ended.
import time, threading balance = 0 lock=threading.Lock() def change_it(n): # 先存后取,结果应该为0: global balance balance = balance + n balance = balance - n def run_thread(n): for i in range(100000): #获取锁 lock.acquire() try: #锁定n只能由一个线程使用后,可以避免出现n被多线程使用修改 change_it(n) finally: #用完后要解锁 lock.release() t1 = threading.Thread(target=run_thread, args=(5,)) t2 = threading.Thread(target=run_thread, args=(8,)) t1.start() t2.start() t1.join() t2.join() print(balance)
Hello, Alice (in Thread_A)
Hello, Bob (in Thread_B)
8.