上次编写了一个小软件,用于练手及自己的一个小工具集合.今天把其中的线程池和管理器的代码抽取出来,写成一个博文,让需要的朋友能够进行学习和应用. 这个线程管理器包括了3个类库和一个应用程序,见下图: 第一个是窗体磁吸屏幕的类库,以前有过一个VB编的类库(磁性窗体源码开源 - 开源研究系列文章),这次把C#编写的类库放出来,以后有介绍.第二个为线程池定义及管理器的类库,下面有介绍.第三个为主应用程序,下面有介绍.第四个为需要运行的所有线程的列表定义,以后所有需要运行的线程都在这个类库定义,直接替换该…
WallpaperManager(壁纸管理器),是手机壁纸相关的一个API的相关类.其设置壁纸常有如下三种方法可调用: - setBitmap(Bitmap bitmap):将壁纸设置为bitmap所代表的位图 - setResource(int resid):将壁纸设置为resid资源所代表的图片 - setStream(InputStream data):将壁纸设置为data数据所代表的图片 这是其余设置不强相关的方法: - clear():清除壁纸,设置回系统默认的壁纸 - getDesi…
在日常项目里通常会遇到定时执行任务的需求,也就是定时器..NET Framework里关于定时器的类有3个,分别是System.Windows.Forms.Timer.System.Timers.Timer.System.Threading.Timer.这三个类用法灵活,也各有特点,应对简单的定时需求,用起来很轻松.如果面对复杂应用,比如任务影响窗体UI时就 要考虑多线程操作,多线程就避免不了考虑线程安全问题,这时候用起来就比较麻烦. 使用FluentScheduler组件,相对来说就轻松多了.…
本文翻译自Coding-Geek文章:< How does a relational database work>.原文链接:http://coding-geek.com/how-databases-work/#Buffer-Replacement_strategies 本文翻译了如下章节, 介绍数据库的客户端管理器组件: Client manager 客户端管理器是一个处理与数据库客户端连接通信的组件.数据库的客户端可以是Web服务器,也可以是终端应用程序.数据库提供了各种访问数据库的接口,…
static void Main(string[] args)        {            List<int> numbers = new List<int>();            while (true)            {               #region 输出集合内容                Console.WriteLine("集合中现有内容如下:");                Console.WriteLi…
发起这个 项目 的 起因 是 GitHub . Github 的 使用技能 俨然已经成了 一项新技术 , 这不是 工具 的 本意 . 我用过的 源代码 管理工具 不多,  SVN 我觉得不错 . 常用的功能, 如   上传文件  获取新版  乐观锁  合并   Version(版本)  Revision(Tag) ,   都已经有了, 也容易找到使用 . Github 有时候 还不如 百度网盘 好用 . 源代码管理工具, 核心功能 是 复制文件, 高级功能 是 比较文件, 再加上一个 数据库 记…
简述 Qt的布局系统提供了一个简单的和强有力的方式,来自动排列窗口子控件布局. 所有QWidget子类可以使用布局来管理他们的子控件.QWidget::setLayout()函数可以为一个控件布局.当通过这种方式布局以后,它负责以下任务: 布置子控件. 最高层窗口可感知的默认大小. 最高层窗口可感知的最小大小. 调整大小的处理. 当内容改变的时候自动更新: 字体大小.文本或者子控件的其它内容. 隐藏或者显示子控件. 移除一些子控件. 简述 Qt的布局类 水平垂直网格表单布局 代码布局 为布局添加…
Python异常处理 异常与错误 错误 可以通过IDE或者解释器给出提示的错误opentxt('a.jpg','r') 语法层面没有问题,但是自己代码的逻辑有问题if age>18: print('未成年') 逻辑错误 语法错误 异常 多指在程序执行过程中,出现的未知错误,语法和逻辑本身是正确的.可以通过代码进行处理或修复 异常分类 除零异常(ZeroDivisionError): 1/0 名称异常(NameError): if age>5,age未定义 类型异常(TypeError): 1+…
异步上下文管理器 前面文章我们提到了上下文管理器,但是这个上下文管理器只适用于同步代码,不能用于异步代码(async def形式),不过不用担心今天我们就来讨论在异步中如何使用上下文管理器. 特别提醒本教程所使用的Python版本为Python3.7. async with 异步上下文管理器.类似于同步上下文管理器,我们知道使用with可以实现一个上下文管理的器,而对于异步上下文管理器其根本表现形式为async with,下面的一段代码告诉你async with是如何运作的. import as…
认识 Cargo-Rust构建工具和包管理器 上两篇文章 都有说到 hello world 程序,但是我们如果使用自己创建文件的方式创建项目,一旦文件多了,那得多麻烦,整个项目将变得难以管理.下面我来介绍和实际使用一下 Rust 的构建工具和包管理工具 - Cargo ! 验证 Cargo 是否安装 如果你是通过本号的文章开始的配置 Rust 开发环境,那么进入 cmd 控制台,输入 cargo --version 验证 Cargo 是否安装了,如下图输出了 Cargo 的版本号,祝贺你,你的电…