上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页
摘要: 在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,10几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,这时候 阅读全文
posted @ 2016-04-03 22:30 编程青年的崛起 阅读(15694) 评论(0) 推荐(0) 编辑
摘要: GIL(全局解释器锁) 我们知道多进程(mutilprocess) 和 多线程(threading)的目的是用来被多颗CPU进行访问, 提高程序的执行效率。 但是在python内部存在一种机制(GIL),在多线程 时同一时刻只允许一个线程来访问CPU。 GIL 并不是Python的特性,它是在实现P 阅读全文
posted @ 2016-03-31 00:03 编程青年的崛起 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 2. 假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个任务。 3. 进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,C 阅读全文
posted @ 2016-03-30 23:55 编程青年的崛起 阅读(219) 评论(0) 推荐(1) 编辑
摘要: 创建进程的类:Process([group [, target [, name [, args [, kwargs]]]]]),target表示调用对象,args表示调用对象的位置参数元组。kwargs表示调用对象的字典。name为别名。group实质上不使用。方法:is_alive()、join( 阅读全文
posted @ 2016-03-30 23:48 编程青年的崛起 阅读(376) 评论(0) 推荐(0) 编辑
摘要: python线程的事件用于主线程控制其他线程的执行,事件主要提供了三个方法wait、clear、set 事件处理的机制:全局定义了一个“Flag”,如果“Flag”值为 False,那么当程序执行 event.wait 方法时就会阻塞,如果“Flag”值为True,那么event.wait 方法时便 阅读全文
posted @ 2016-03-30 17:46 编程青年的崛起 阅读(17940) 评论(0) 推荐(1) 编辑
摘要: python的锁可以独立提取出来 概念 好几个人问我给资源加锁是怎么回事,其实并不是给资源加锁, 而是用锁去锁定资源,你可以定义多个锁, 像下面的代码, 当你需要独占某一资源时,任何一个锁都可以锁这个资源 就好比你用不同的锁都可以把相同的一个门锁住是一个道理 线程不安全: 最普通的一个多线程小例子。 阅读全文
posted @ 2016-03-29 22:09 编程青年的崛起 阅读(38466) 评论(0) 推荐(0) 编辑
摘要: Python多线程编程时,经常会用到join()和setDaemon()方法,今天特地研究了一下两者的区别。 1、join ()方法:主线程A中,创建了子线程B,并且在主线程A中调用了B.join(),那么,主线程A会在调用的地方等待,直到子线程B完成操作后,才可以接着往下执行,那么在调用这个线程时 阅读全文
posted @ 2016-03-27 10:26 编程青年的崛起 阅读(19854) 评论(2) 推荐(2) 编辑
摘要: 多线程 科技在发展,时代在进步,我们的CPU也越来越快,CPU抱怨,P大点事儿占了我一定的时间,其实我同时干多个活都没问题的;于是,操作系统就进入了多任务时代。我们听着音乐吃着火锅的不在是梦想。 python提供了两个模块来实现多线程thread 和threading ,thread 有一些缺点,在 阅读全文
posted @ 2016-03-24 23:32 编程青年的崛起 阅读(948) 评论(3) 推荐(0) 编辑
摘要: Join的作用是众所周知的,阻塞进程直到线程执行完毕 这个小程序使用了两个线程thread1和thread2,线程执行的动作分别是doWaiting()和doWaiting1(),函数体就是打印「开始」+休眠3秒+打印「结束」,分别附加上时间用来查看程序执行的过程。后面用start()方法同步开始执 阅读全文
posted @ 2016-03-24 22:58 编程青年的崛起 阅读(4868) 评论(0) 推荐(0) 编辑
摘要: 一、Python中的线程使用: Python中使用线程有两种方式:函数或者用类来包装线程对象。 1、 函数式:调用thread模块中的start_new_thread()函数来产生新线程。如下例: 上面的例子定义了一个线程函数timer,它打印出10条时间记录后退出,每次打印的间隔由interval 阅读全文
posted @ 2016-03-23 16:23 编程青年的崛起 阅读(645) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页