Metadata-Version: 2.1
Name: muti-thread
Version: 1.1.10
Summary: muti_thread是多线程并发库
Home-page: https://github.com/passion765
Author: tk
Author-email: 462304@qq.com
License: UNKNOWN
Keywords: muti-thread,threading,thread,muti_thread,threads
Platform: Linux
Platform: Windows
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown

muti_thread是一个真正的多并发多线程,python3.6

```py
# -*- 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()


```


