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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

muti-thread-1.1.10.linux-x86_64.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

muti_thread-1.1.10-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file muti-thread-1.1.10.linux-x86_64.tar.gz.

File metadata

  • Download URL: muti-thread-1.1.10.linux-x86_64.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for muti-thread-1.1.10.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 53b0a00caccd47e91a1a5e149131096ee1b0228c3a700f14f20f2a4b026c5089
MD5 044cbc4620232664dbc27370d1f830fe
BLAKE2b-256 c43380505e62f57c0a7530296ac36cfa7382c666c1908af3f92acee8d1e63809

See more details on using hashes here.

File details

Details for the file muti_thread-1.1.10-py3-none-any.whl.

File metadata

  • Download URL: muti_thread-1.1.10-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for muti_thread-1.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 76f6d39a5a93f7e866a4f03664ba26298cf2f7210a2efffd8b7d8ca4d2c2748c
MD5 adf9285293ba62958e37a541b7068458
BLAKE2b-256 a6da58b58fde6597486e2518200b67a5b3cb84f9fc5848136030acc5209aad84

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.10 This release

2 files

1.1.9

2 files

1.1.8

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page