muti_thread是多线程并发库
Project description
muti_thread是一个真正的多并发多线程,python3.6
# -*- coding: utf-8 -*-
import sys
sys.path.append(r'E:\algo_text\nn_csdk\build\Release')
import time
from muti_thread.muti_thread import thread_create,thread_append,thread_start_and_join
import numpy as np
vec1 = [1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
vec2 = [5,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
def my_compute(n=10000):
for i in range(n):
dist1 = np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2))
class thread_param:
def __init__(self,index):
self.counter = 0
self.index = index
#必须有且只有一个参数,最好是某个类的实例
#注意 , 线程函数里最好不要有import的东西 ,里面最好是执行函数
def thread_func(param):
#param.counter += 1
#print(param.index)
#测试1万次
my_compute()
# if param.counter> 10000:
# print(param.index ,'end')
# return -1
# ii = -1
# while ii < 10:
# ii += 1
# print('线程', param.index, ii)
#
# time.sleep(1)
#print(param.index, 'end')
return -1 #// 返回值小于0 退出线程 , 0 继续循环执行线程函数
def main():
resource = thread_create()
#并发线程
for i in range(10):
param = thread_param(i)
thread_append(resource, thread_func, param)
#开始并等待线程结束
start = float(round(time.time() * 1000))
thread_start_and_join(resource)
end = float(round(time.time() * 1000))
print('run time {}'.format (end-start))
if __name__ == '__main__':
main()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for muti-thread-1.1.10.linux-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53b0a00caccd47e91a1a5e149131096ee1b0228c3a700f14f20f2a4b026c5089 |
|
MD5 | 044cbc4620232664dbc27370d1f830fe |
|
BLAKE2b-256 | c43380505e62f57c0a7530296ac36cfa7382c666c1908af3f92acee8d1e63809 |
Close
Hashes for muti_thread-1.1.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76f6d39a5a93f7e866a4f03664ba26298cf2f7210a2efffd8b7d8ca4d2c2748c |
|
MD5 | adf9285293ba62958e37a541b7068458 |
|
BLAKE2b-256 | a6da58b58fde6597486e2518200b67a5b3cb84f9fc5848136030acc5209aad84 |