------------------------------------------------服务端代码--------------------------------------__author__="托尼老师""""即时通讯原理@@@服务端代码python教程学习视频
分类:
编程语言 时间:
2020-05-29 10:35:53
阅读次数:
72
from Queue import Queue qlist=Queue(maxsize=300) import threading for i in range(20): qlist.put("hello num%d" %(i)) def process_work(qlist): while Tru ...
分类:
编程语言 时间:
2020-05-28 00:58:28
阅读次数:
61
python 里有一个 threading 模块,其中提供了一个函数: threading.Thread(target=function, args=(), kwargs={}) function 是开发者定义的线程函数, args 是传递给线程函数的参数,必须是tuple类型, kwargs 是可 ...
分类:
编程语言 时间:
2020-05-27 00:51:55
阅读次数:
89
1. threading.Semaphore(value=1) 线程信号量,可以用来控制线程线程的阻塞和释放 sm.acquire() 获取一个信号量,信号量-1,不够-1,则线程阻塞 sm.release() 释放一个信号量,信号量+1 示例如下,控制三个线程的执行顺序: # -*- coding ...
分类:
编程语言 时间:
2020-05-23 11:26:16
阅读次数:
58
先贴几篇有意思的讨论 https://www.qt.io/blog/2010/06/17/youre-doing-it-wrong#commento-login-box-container https://www.qt.io/blog/2006/12/04/threading-without-the ...
分类:
编程语言 时间:
2020-05-22 09:22:06
阅读次数:
77
#在前面创建的多线程是通过调用threading.Thread类,传递一个target参数,即传递一个可执行对象(函数),就能创建一个子线程对象#然后再通过调用线程对象的start方法启动线程#自定义线程类创建多线程的步骤:#1.自定义类继承threading.Thread类#2.自定义类重写run方法,即表示线程的执行体,相当于之前传递的参数target=函数#3.通过自定义类创建对象,然后调用
分类:
编程语言 时间:
2020-05-22 00:00:44
阅读次数:
64
FluentScheduler是一个简单的任务调度框架,使用起来非常方便。作者的源码和例子的地址: https://github.com/fluentscheduler/FluentScheduler 1.首先引用FluentScheduler.dll,dll数据源可通过NuGet程序包获取。打开管 ...
分类:
其他好文 时间:
2020-05-21 19:32:15
阅读次数:
88
死锁 在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁。 例子 小故事分享 从前有两个线程,它们分别叫线程1和线程2(假设没有其他线程跟它俩抢东西) 1. 线程1先执行了func1的任务,所以线程1先分别拿到A锁和B锁,然后释放A锁和B锁,然后就去执行任 ...
分类:
编程语言 时间:
2020-05-20 20:19:59
阅读次数:
62
import os import tkinter as tk import glob from tkinter.filedialog import * # import threading import time def openFile(): dirname = askdirectory() # ...
分类:
微信 时间:
2020-05-19 13:02:31
阅读次数:
118
import multiprocessing from multiprocessing.managers import BaseManager import threading # 锁可以通过global也可以在Process中传无所谓 share_lock = threading.Lock() # ...
分类:
编程语言 时间:
2020-05-17 01:28:34
阅读次数:
94