Wkkkkk

  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

《debian-handbook》前言翻译

发表于 2019-06-19 | 更新于 2019-06-27 | 分类于 Linux

Debian是一套非常成功的操作系统,它在我们的数字生活中无处不在。尽管人们可能没有意识到它在计算机服务中的巨大作用,但数据可以证实这一点。W3Techs的调查显示,在编写本文的时候,Debian作为GNU/Linux主流版本中最受欢迎的后台操作系统,支撑着超过10%的网页服务。想一想:如果没有Debian,今天你会错过多少网页?不仅如此,Debian还有许多意想不到的应用场景,其中就包括国际空间站。你有了解过ISS宇航员的工作吗,无论是通过NASA在社交网络上发布的信息,还是其他的国际组织?Debian支撑着航空航天工作的开展,也使得相关信息的交流成为可能。此外,无数的公司、大学和公共组织也依靠Debian来完成他们日常的工作——向全世界数以百万的用户提供服务。

阅读全文 »

Vcpkg——C++包管理工具

发表于 2019-06-16 | 更新于 2019-06-27 | 分类于 Tools

在Windows下开发C++程序时,常用依赖包的管理是一个头疼的问题。Vcpkg是一个命令行包管理工具,它可以极大地简化三方库的获取、安装、使用和部署流程。

阅读全文 »

萧瀚:如何度过我们的一生?

发表于 2019-06-14 | 更新于 2019-06-27 | 分类于 Literature

在座诸君:你们好!

我到法大已经整整四年,开了四年的课。今天是你们这学期的最后一课,我和大家已经一起度过了美好的17周,如果包括今天,总共是27个小时。在这27个小时里,我有幸和大家一起回到遥远的中国古代,去遐思我们的祖先是怎样的生活,那一切都让我感动。

说到最后一课,我们很自然地想到都德的那篇著名小说《最后一课》。我们没有他们当年法国人那么惨,但这最后一课,于我却是伤感的。我不打算再讲任何与这门课程相关的内容,因为那是讲不完的。今天我只希望自己能够真正地来尽一个教师的职责,那就是跟在座诸君聊聊我们每个人都正在经历的人生。

阅读全文 »

A TCP echo server with Boost.Asio(1)

发表于 2019-06-10 | 更新于 2019-06-27 | 分类于 Asio

在前一篇文章中,我们有介绍如何利用Boost.Asio构建线程池。

本文继续谈一下Boost.Asio是如何使用无锁的同步方式解决竞态条件的,以及如何构建一个TCP echo server。

阅读全文 »

A thread pool with Boost.Asio

发表于 2019-06-10 | 更新于 2019-06-27 | 分类于 Asio

在之前的文章中,我们有介绍如何推导一个简单的任务队列。

本文介绍如何利用Boost.Asio构建不需要显示地加锁或同步的线程池。

阅读全文 »

Hello Asio!

发表于 2019-06-10 | 更新于 2019-06-27 | 分类于 Asio

大部分的而程序都会与外部世界进行交互,无论是通过文件、网络、串行电缆,还是通过控制台。有时,比如在网络编程时,独立的I/O操作发起后,可能会需要很久才能完成。这给应用程序的开发带来了特定的挑战性。

Boost.Asio 是一个跨平台的现代C++库,它提供给开发者一个通用的异步模型,用于处理网络传输或低层的I/O操作。

阅读全文 »

Strands

发表于 2019-06-06 | 更新于 2019-06-27 | 分类于 Multi-threading

如果你用过Boost Asio,那你肯定用过或者见到过strands。

在编写异步代码时,函数时常会被多个线程并发调用。为了避免函数对同一份资源的竞争,我们可能需要使用诸如互斥量的办法来显式地限制对资源的访问,这无疑为程序的设计和代码的编写带来了不必要的压力。

而Strands正是解决此类问题的一种设计,它可以对一组函数的执行进行调度,保证这一组函数不会并发执行。通过Strand执行的函数不需要显式地同步,这简化了异步代码的编写。

阅读全文 »

Callstack markers

发表于 2019-06-06 | 更新于 2019-06-27 | 分类于 Tools

有时,在程序中需要保存函数的上下文信息,比如某一个函数是否在执行,或者函数的调用链是怎样的。

本文尝试着解决这类问题。

阅读全文 »

Monitor and Work Queue

发表于 2019-06-06 | 更新于 2019-06-27 | 分类于 Multi-threading

利用诸如互斥量和信号量的同步原语,我们可以构建出更加实用的多线程工具。

阅读全文 »

Mutex and Semaphore

发表于 2019-05-29 | 更新于 2019-06-27 | 分类于 Multi-threading

C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而且C++程序的可移植性也得到了有力的保证。

阅读全文 »
1234

Wkkkkk

31 日志
7 分类
16 标签
RSS
© 2019 Wkkkkk
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Mist v7.1.1
|