上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: def swap(arr, i, j): temp = arr[i] arr[i] = arr[j] arr[j] = temp def part(arr, beg, end): if end - beg <= 0: return beg v = arr[beg] idx = beg + 1 for x in range(... 阅读全文
posted @ 2018-10-04 22:52 吴筱军 阅读(127) 评论(0) 推荐(0) 编辑
摘要: Python为取list部分元素提供了切片操作,list[begin:end]获取list的[begin,end)区间元素。 可以用负数索引。 tuple、str都是list的一种,所以也适用。 可以用::n抽取间隔为n的元素。 可以用于复制list。 阅读全文
posted @ 2018-10-04 22:51 吴筱军 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 如果想定义一个什么事也不做的空函数,可以用pass语句: pass还可以用在其他语句,比如: 调用函数时,如果参数个数不对,Python解释器 阅读全文
posted @ 2018-10-04 22:51 吴筱军 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Python还允许用r''表示字符串内部的字符串默认不转义。 如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容。(这种写法也支持r标记不转义) print(''' content1 content2 content3 ''') /除 阅读全文
posted @ 2018-10-04 22:50 吴筱军 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 同步 当多个线程共享一些数据的时候,我们就需要使用同步技术,确保一次只有一个线程访问合改变共享状态。注意,同步问题与争用和死锁有关。 例: static int idx = 0; static void Add() { for (int i = 0; i < 50000; i++) { idx++; 阅读全文
posted @ 2018-04-26 17:24 吴筱军 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 死锁 为了线程安全,我们在需要的是会使用”独占锁“,但过多的锁定也会有麻烦。多个线程因为竞争资源相互等待而造成的僵局,我们称为死锁。若无外力作用,这些进程将都无法推进。在死锁中,至少有两个线程被挂起,并等待对方解除锁定。 我们先看一个小例子:在一个平面上有很多方块,有一些星星在这上面移动。基本规则就 阅读全文
posted @ 2018-03-01 14:50 吴筱军 阅读(238) 评论(0) 推荐(0) 编辑
摘要: Parallel类 Parallel类定义了for、foreach和invoke的静态方法。Parallel类使用多个任务,因此使用多个线程来完成这个作业。 Parallel.For Parallel.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Parallel.For方法, 阅读全文
posted @ 2018-02-24 17:29 吴筱军 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 线程池 创建线程需要时间,如果有不同的小任务要完成,就可以事先创建许多线程,在应完成这些任务时发出请求。这个线程数最好在需要更多线程时增加,在需要释放资源时减少。 不需要自己创建这样的一个列表。该列表由ThreadPool类托管。该类会在需要时增加线程池中线程数,直到最大的线程数。 可以指定创建线程 阅读全文
posted @ 2018-02-24 15:45 吴筱军 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 传递数据给一个线程 通过函数或lambda表达式包一层进行传递。 另外一种方式是传递一个参数给Thread的Start方法: 注意传递的数据的可靠性。 命名线程 线程的Name属性,用于获取或设置线程的名称。包含线程名称的字符串,或者如果未设置名称,则为 null。Name属性设置后将无法修改,尝试 阅读全文
posted @ 2018-02-23 15:39 吴筱军 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 线程是怎样工作的 1.多线程由一个线程调度器来进行内部管理,一个功能是CLR常常委托给操做系统。 一个线程调度器确保所有激活的线程在执行期间被合适的分配,等待或者阻塞的线程(比如,一个独占锁或者等待用户输入)不占用CPU资源。 2.在单核电脑上,一个线程调度器让时间片在每一个激活的线程中切换。在wi 阅读全文
posted @ 2018-02-23 10:45 吴筱军 阅读(605) 评论(4) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页