Python定时事件调度器
先前写过实现简单的协程调度器一文,指出调度器的核心是调度算法。即当要执行多个任务时,需要一种调度方法,决定某个任务什么时候执行,什么时候暂停。对于一个定时事件调度器,它需要的算法很简单,以时间先后进行调度分配任务的执行。
先前写过实现简单的协程调度器一文,指出调度器的核心是调度算法。即当要执行多个任务时,需要一种调度方法,决定某个任务什么时候执行,什么时候暂停。对于一个定时事件调度器,它需要的算法很简单,以时间先后进行调度分配任务的执行。
有时候需要处理二进制数据。例如把Python对象转换为二进制发送到网络上,或者从网络上接收二进制数据再转换为Python对象。Python的struct模块包括一些函数和约定用于处理字节序列和内置数据类型的函数和方法。
我的博客的域名为allenwind.github.io,这是一个子域名。事实上,我们留意到很多web应用都有子域名,SaaS级别的应用更离不开子域名,企业为每个用户提供一个子域名。那么,如何实现这样的子域名呢?
日常编程,只要涉及对数据的操作就离不开数据结构,无论是自己实现的优化还是直接使用编程语言自带的数据结构。Python、Go、Java都以库或语言内置的形式提供强大的数据结构。本文分享Python的数据结构的用法和技巧。通常情况下编程语言自带的数据结构性能都很好,经得起考验,通常使用它而不是自己实现,除非出于某种场景的优化或通过再写而满足特定需求。
数据的归宿有两存储:存储和传输。我们也可以认为,数据传输也是数据存储的一种形态,只是它的存储介质为网络。对于网络介质,如果有必要,我们也可以使用特殊的方法让数据持久化。如果数据的存储介质不是私有的,那么数据就暴露在不安全之中,尤其是网络这种特殊的数据存储介质。本文件写数据的网络介质中的安全编程。在具体的实战前,先讲讲安全相关概念。
线程间通信常用的数据结构是队列。消息的发送者往队列中put
数据,消息的接受者从队列中get
数据,为了让队列知道消息的处理情况,有时候还添加task_done
接口,以通知队列消息的接收者已经处理了先前接收的消息。如果队列有限,消息接收者get
空队列和消息的发送者put
满的队列都会阻塞。