Skip to main content

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


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

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.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page