0%

在使用多进程编程时,会经常涉及到进程之间通信的问题。除了借助文件、特殊变量等,还可以借助一些特殊的数据结构完成功能复杂的通信。并行应用常常需要在进程之间交换数据。python的Multiprocessing库有两个通信通道可以交换对象:队列(queue)和管道(pipe)。

使用多线程必须注意一个问题,如果有多个线程同时运行,而且它们试图访问相同的资源,就会遇到各种问题。如请求在代码在阅读时写入其他函数,即一个线程要读,一个线程要写,读线程占据着资源,写线程得不到资源,自然就会与理想的结果相违背。本文更侧重理论解读,某些场景下,这些概念可同样用到进程中;样例代码为C语言,其他语言仍然适用。

继承上文,通过一些极度简单的例子来理解多线程、多进程编程,承接理论接触,为后面的同步、死锁打下基础。

本博客来自于某课程的大作业。按照我之前建模的习惯,会直接『元胞自动机』设置规则直接模拟;但是却看到了通过优化来建立模型的做法。前者是基于规则的模拟,后者是凸规划问题下的求解。对于获得的解而言,在理论上还是后者更好一些,毕竟存在最优解。

开完一坑又一坑,这应该是GUI系列的完结稿了。时至今日,很多方法和函数已经忘记,一部分整理到了仓库,用时查阅;一部分学会了查官方文档。比如布局中的addSpacingaddStretch填充,以及不同空间该如何Qt.Align,需要大量的经验。用过一次就会知道功能,所以,官方文档永远的神。

众所周知MVC是个好东西。前阵子网上搜了下,但关于用PyQt5实现MVC的中文文档缺少之又少,优质的文档只搜到了一篇。既然这样,来,开个坑,学习新知识,吸引流量。话说,关于PyQt5,布局那里需要好好看看,容器类控件需要好好看看,还有多线程和自动化测试那块。但要写出完美GUI需要大量的代码经验和文档查询的能力。然后,嗯,这部分坑就填完了。

扯回正题:假设此时面临的场景是,一个软件涉及好几个页面,每个页面是单独的代码。且每个页面需要有自己的controller,最终所有的controller汇总到一起,统一管理。

本文中,文字只是辅助理解,务必读懂代码。

基础不牢,地动山摇。当初学C语言的时候,指针,数组等概念一直分不清楚,十分混乱。后期字符串与字符数组的出现更是云里雾里。现在学了C++,加上一些C++11后的特性数组,对这玩意的用法更加迷惑,时而&arr时而&arr[0]。今日来做个了结。