基于类和基于函数的python多线程样例

不断的练,加深记忆吧。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import threading
import time

exitFlag = 0

def first_function():
    print (threading.currentThread().getName() +            str(‘ is Starting \n‘))
    time.sleep(2)
    print (threading.currentThread().getName() +            str(‘ is Exiting \n‘))

def second_function():
    print (threading.currentThread().getName() +            str(‘ is Starting \n‘))
    time.sleep(2)
    print (threading.currentThread().getName() +            str(‘ is Exiting \n‘))

def third_function():
    print (threading.currentThread().getName() +            str(‘ is Starting \n‘))
    time.sleep(2)
    print (threading.currentThread().getName() +            str(‘ is Exiting \n‘))

class myThread(threading.Thread):
    def __init__(self, threadID, name, counter):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name
        self.counter = counter
    def run(self):
        print("Starting " + self.name)
        print_time(self.name, self.counter, 5)
        print("Exiting " + self.name)

def print_time(threadName, delay, counter):
    while counter:
        if exitFlag:
            thread.exit()
        time.sleep(delay)
        print("%s: %s" % (threadName, time.ctime(time.time())))
        counter -= 1

if __name__ == "__main__":
    t1 = threading.Thread         (name=‘first_function‘, target=first_function)
    t2 = threading.Thread         (name=‘second_function‘, target=second_function)
    t3 = threading.Thread         (name=‘third_function‘, target=third_function)

    t1.start()
    t2.start()
    t3.start()
    t1.join()
    t2.join()
    t3.join()

    thread1 = myThread(1, "Thread-1", 1)
    thread2 = myThread(2, "Thread-2", 2)
    thread1.start()
    thread2.start()
    thread1.join()
    thread2.join()
    print("Exiting Main Thread")

时间: 2024-10-20 15:12:36

基于类和基于函数的python多线程样例的相关文章

Python代码样例列表

├─algorithm│       Python用户推荐系统曼哈顿算法实现.py│      NFA引擎,Python正则测试工具应用示例.py│      Python datetime计时程序的实现方法.py│      python du熊学斐波那契实现.py│      python lambda实现求素数的简短代码.py│      Python localtime()方法计算今天是一年中第几周.py│      Python math方法算24点代码详解.py│      Pyth

java多线程样例

这里我们做一个完整的样例来说明线程产生的方式不同而生成的线程的差别: package debug; import java.io.*;import java.lang.Thread; class MyThread extends Thread{ public int x = 0; public void run(){ System.out.println(++x); }} class R implements Runnable{ private int x = 0; public void ru

Python word_cloud 样例 标签云系列(三)

转载地址:https://zhuanlan.zhihu.com/p/20436642word_cloud/examples at master · amueller/word_cloud · GitHub 上面是官方样例.这一篇里的大部分尝试都基于这些样例进行修改.前提是你已经完成了安装,依照上一篇修改了 FONT_PATH . 还记得 http://zhuanlan.zhihu.com/666666/20432734 里提到的中文分词方法吧,这次我们就不再赘述对文本的预处理了.有所不同的是,在

函数指针使用演示样例(參考Linux-内核代码)

本文有xhz1234(徐洪志)编写,转载请注明出处. http://blog.csdn.net/xhz1234/article/details/36635083 作者:徐洪志 近期阅读Linux-内核代码.发现非常多地方使用了函数指针,遂自己写一个演示样例程序.以供參阅: #include <stdlib.h> #include <stdio.h> #define ADDONE 0 #define MINUSONE 1 #define S_OK 0 #define S_ERR -1

Boost Python官方样例(一)

配置环境 $ cat /etc/os-release NAME="Ubuntu" VERSION="16.04 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="ht

Boost Python官方样例(二)

返回值 使用return_by_value有点像C++ 11的auto关键字,可以让模板自适应返回值类型(返回值类型必须是要拷贝到新的python对象的任意引用或值类型),可以使用return_by_value替换copy_const_reference.copy_non_const_reference.manage_new_object和reference_existing_object 返回常量对象引用 编写C++函数实现 $ vim ref.h struct Bar { int x; };

最简单的基于FFmpeg的移动端样例:IOS HelloWorld

===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:Android HelloWorld 最简单的基于FFmpeg的移动端样例:Android 视频解码器 最简单的基于FFmpeg的移动端样例:Android 视频解码器-单个库版 最简单的基于FFmpeg的移动端样例:Android 推流器 最简单的基于FFmpeg的移动端样例:Android 视频转

最简单的基于FFmpeg的移动端样例:Windows Phone HelloWorld

===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:Android HelloWorld 最简单的基于FFmpeg的移动端样例:Android 视频解码器 最简单的基于FFmpeg的移动端样例:Android 视频解码器-单个库版 最简单的基于FFmpeg的移动端样例:Android 推流器 最简单的基于FFmpeg的移动端样例:Android 视频转

最简单的基于FFmpeg的AVDevice样例(读取摄像头)

=====================================================最简单的基于FFmpeg的AVDevice样例文章列表: 最简单的基于FFmpeg的AVDevice样例(读取摄像头) 最简单的基于FFmpeg的AVDevice样例(屏幕录制)===================================================== FFmpeg中有一个和多媒体设备交互的类库:Libavdevice. 使用这个库能够读取电脑(或者其它设备上