Metadata-Version: 2.1
Name: vthread
Version: 0.1.4
Summary: the best threadpool pack.
Home-page: https://github.com/cilame/vthread
Author: vilame
Author-email: opaquism@hotmail.com
License: MIT
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown


You can implement thread pools by adding a single line of code without changing the order of any previous code.
===============================================================================================================

.. code-block:: python

    import vthread

    @vthread.pool(3) # just use this line to make pool, Create a threadpool with three threads
    def crawl(i):
        import time;time.sleep(1) # Simulation time consuming
        print("crawl_url:",i)

    urls = ["http://url1",
            "http://url2",
            "http://url3",
            "http://url4"]

    for u in urls:
        crawl(u) # This function becomes a function that adds the original function to the thread pool.


It provides a method for grouping the thread pool
=================================================

.. code-block:: python

    import vthread
    pool_1 = vthread.pool(5,gqueue=1) # open a threadpool with 5 threads named 1
    pool_2 = vthread.pool(2,gqueue=2) # open a threadpool with 2 threads named 2

    @pool_1
    def foolfunc1(num):
        time.sleep(1)
        print(f"foolstring1, test3 foolnumb1:{num}")

    @pool_2 
    def foolfunc2(num):
        time.sleep(1)
        print(f"foolstring2, test3 foolnumb2:{num}")

    @pool_2 
    def foolfunc3(num):
        time.sleep(1)
        print(f"foolstring3, test3 foolnumb3:{num}")

    for i in range(10): foolfunc1(i)
    for i in range(4): foolfunc2(i) 
    for i in range(2): foolfunc3(i)
    # default gqueue is 0


