python简单多线程,python 怎样实现 多线程并发

1,python 怎样实现 多线程并发python线程有两种,类或者函数后者很简单,就跟pthread一样用啊 。不要打印就好了,或者你自己维护一个print加个自旋锁第三个从但是开始就没看懂既然要加print那一定要加锁了,否则是没办法既然你想搞一个控制线程,那就由它来打印咯
2,python循环怎么用多线程去运行我想问问看你说的”访问一个站点“是什么意思,是下载一个文件吗?还是需要submit一些表单上去还是其他什么访问法?还有多线程是用来干什么的?是多个线程同时下载一个文件让这个文件可以下载得更快吗?还是其他什么目的?本身python访问web就很简单 , urllib的几个函数一调用就好了,不过不清楚你想要做什么,所以我感觉不知道怎么回答你 。【python简单多线程,python 怎样实现 多线程并发】
3,python实现多线程访问web站点并执行操作我想问问看你说的”访问一个站点“是什么意思,是下载一个文件吗?还是需要submit一些表单上去还是其他什么访问法?还有多线程是用来干什么的?是多个线程同时下载一个文件让这个文件可以下载得更快吗?还是其他什么目的?本身python访问web就很简单,urllib的几个函数一调用就好了,不过不清楚你想要做什么,所以我感觉不知道怎么回答你 。urllib2没法多线程(非线程安全)用pycurl才行也更快再看看别人怎么说的 。再看看别人怎么说的 。
4,python多线程与多进程的概念与区别1.什么是线程?线程是操作系统能够进行运算调度的最小单位(程序执行流的最小单元) 。它被包含在进程之中 , 是进程中的实际运作单位 。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程 , 每条线程并行执行不同的任务 。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成 。另外,线程是进程中的一个实体 , 是被系统独立调度和分派的基本单位,线程自己不拥有系统资源 , 只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源 。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行 。由于线程之间的相互制约,致使线程在运行中呈现出间断性 。线程也有就绪、阻塞和运行三种基本状态 。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行 。每一个程序都至少有一个线程,若程序只有一个线程 , 那就是程序本身 。线程是程序中一个单一的顺序控制流程 。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位 。在单个程序中同时运行多个线程完成不同的工作 , 称为多线程 。2.什么是进程?进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位 , 是操作系统结构的基础 。在早期面向进程设计的计算机结构中 , 进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器 。程序是指令、数据及其组织形式的描述 , 进程是程序的实体 。里面包含对各种资源的调用,内存的管理 , 网络接口的调用等 。。。对各种资源管理的集合 就可以称为 进程3.线程和进程的区别(1)线程共享内存空间;进程的内存是独立的(2)同一个进程的线程之间可以直接交流;两个进程想通信,必须通过一个中间代理来实现(3)创建新线程很简单; 创建新进程需要对其父进程进行一次克?。?)一个线程可以控制和操作同一进程里的其他线程;但是进程只能操作子进程(5)改变主线程(如优先权),可能会影响其它线程;改变父进程,不影响子进程5,Python如何跑多线程Python多线程运行:使用线程可以把占据长时间的程序中的任务放到后台去处理 。用户界面可以更加吸引人,百这样比如用户点击了一个按钮去触发某些事件的处理 , 可以弹出一个进度条来显示处理的进度程序的运行速度可能加快在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了 。在这种情况下我们可以释放一些珍贵的资源如内存占用等等 。线程在执行过程中与进程还是有区别的 。每个独立的线程有一个度程序运行的入口、顺序执行序列和程序的出口 。但是线程不能够独立执行 , 必须依存在应用程序中,由内应用程序提供多个线程执行控制 。每个线程都有他自己的一组CPU寄存器,称为线程的上下文 , 该上下文反映了线程上次运行该线程的CPU寄存器的状态 。指令指针和堆栈指针寄存器是线程上下文中两个最重要的寄存器,线程总是在进程得到上下文中运行的,这些容地址都用于标志拥有线程的进程地址空间中的内存 。线程可以被抢占(中断) 。在其他线程正在运行时,线程可以暂时搁置(也称为睡眠) -- 这就是线程的退让 。在python里线程出问题,可能会导致主进程崩溃 。虽然python里的线程是操作系统的真实线程 。那么怎么解决呢?通过我们用进程方式 。子进程崩溃后,会完全的释放所有的内存和错误状态 。所以进程更安全 。另外通过进程,python可以很好的绕过gil , 这个全局锁问题 。但是进程也是有局限的 。不要建立超过cpu总核数的进程,否则效率也不高 。简单的总结一下 。当我们想实现多任务处理时,首先要想到使用multiprocessing ,  但是如果觉着进程太笨重,那么就要考虑使用线程 。如果多任务处理中需要处理的太多了,可以考虑多进程,每个进程再采用多线程 。如果还处理不要,就要使用轮询模式,比如使用poll event, twisted等方式 。如果是gui方式 , 则要通过事件机制,或者是消息机制处理,gui使用单线程 。所以在python里线程不要盲目用 ,  也不要滥用 。但是线程不安全是事实 。如果仅仅是做几个后台任务,则可以考虑使用守护线程做 。如果需要做一些危险操作,可能会崩溃的 , 就用子进程去做 。如果需要高度稳定性,同时并发数又不高的服务 。则强烈建议用多进程的multiprocessing模块实现 。在linux或者是unix里,进程的使用代价没有windows高 。还是可以接受的 。

    推荐阅读