Skip to main content

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()

Metadata

Release files for muti-thread 1.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for muti-thread 1.1.10
File Size Uploaded
muti-thread-1.1.10.linux-x86_64.tar.gz 17.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for muti-thread 1.1.10
File Interpreter ABI Platform
muti_thread-1.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 36.2 kB

Release files / muti-thread-1.1.10.linux-x86_64.tar.gz

Download URL muti-thread-1.1.10.linux-x86_64.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
53b0a00caccd47e91a1a5e149131096ee1b0228c3a700f14f20f2a4b026c5089
BLAKE2b-256 checksum
How to use checksums
c43380505e62f57c0a7530296ac36cfa7382c666c1908af3f92acee8d1e63809
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0.post20201221 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.9

Release files / muti_thread-1.1.10-py3-none-any.whl

Download URL muti_thread-1.1.10-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76f6d39a5a93f7e866a4f03664ba26298cf2f7210a2efffd8b7d8ca4d2c2748c
BLAKE2b-256 checksum
How to use checksums
a6da58b58fde6597486e2518200b67a5b3cb84f9fc5848136030acc5209aad84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0.post20201221 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.9

Release history Release notifications | RSS feed

This release

1.1.10 This release

2 release files

1.1.9

2 release files

1.1.8

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page