关于 c++11 的线程库,我们有如下几个问题:
可否不传参数
可否传递多个参数
可否传递 const 参数
可否传递引用参数
可否传递 const 引用参数
std::thread 结构可否放入容器
std::thread 可否在类内部使用
针对以上问题,我们先来看一个标准的 c++11 线程库要怎么使用:
#include <stdio.h>
#include <thr…… 阅读全文
Tag Archives: 多线程
单例,多线程的一些验证
作为一个基础知识,java 下的一种单例实现是这样的
package me.zrj.test.test20170607;
public class Singleton {
private Singleton() {}
private static Singleton instance;
public static Singleton getInstance() {
if (instance == null) {
instance = new…… 阅读全文
分享一个多线程的日志库
思路部分参考了陈硕的 muduo,主要就是多线程写的安全性,以及一些日志分级,自动分割等常用功能,线上几十近百台机器一两年的运行没有发现什么问题
/*
* encoding: gbk
* created: 2013-09-05 10:33:59
*
* 日志工具
* 工具在初始化的时候从堆上分配一片内存,当作二维 char 数组来用
* 每个写入线程在写…… 阅读全文
基于队列的 UDP 多线程收发 demo
来看这个代码
#include <stdio.h>
#include <assert.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <fcntl.h>
#include <string.h>
#include <sys/epoll.h>
#include <netinet/in.h>
#include <arpa/inet.…… 阅读全文
写一个日志模块
今天在写一个日志模块,遇到一些问题,学到了一些东西,记一下。
一开始想到,cpp 这么成熟的社区,日志这么基本的模块,应该现成的有很多吧,随便找一个来用就可以了,上网搜了一圈,发现真是一团混乱啊,看到这里,http://blog.csdn.net/junchaox/…
待选为 glog、log4cplus、log4cpp、log4cxx
目前准备使用glog,…… 阅读全文
不同服务器端模型在并发请求下的表现差异
一般来说,服务器的模型有下面几种:
单进程单线程
多进程(一个请求对应一个进程,Apache 之类貌似就是这个)
多线程(一个请求对应一个线程,这个挺少见到的)
select / poll
epoll
它们的差别可以看这个,http://www.cnblogs.com/sharra/…
因为需要了解底层设备访问的原理,所以惯用高层应用语言的我,需要了…… 阅读全文
在 HTTP 协议下分段下载文件
最近想要搞一个 linux 下的多线程下载工具,就像 wget 那样可以,只不过是多线程的,其中遇到一个问题,就是 http 如何分段下载,查找资料最后看到这里,http://www.rosoo.net/a/201006/…
假如一个文件有1000个字节,那么其范围就是0-999,则:
Range: bytes=500- 表示读取该文件的500-999字节,共500字节。
…… 阅读全文
Linux C 多线程初步
晚上想起来要敲一个 C 的多线程,于是搜了一下,找到这篇,http://zhuwenlong.blog.51cto.c…
#include <stdio.h>
#include <pthread.h>
#include <string.h>
#include <stdlib.h>
#include <sys/time.h>
#define MAX 10
pthread_t thread[2];
pthread_mutex_t mut;
…… 阅读全文
C# .NET 中停止一个线程
在下载一些文件的时候,网络 IO 可能导致超时,于是想要杀掉那个线程,但是却发现这个不太好做,查了一下,这里说,http://stackoverflow.com/quest…
The reason it’s hard to just kill a thread is because the language designers want to avoid the following problem: your thread takes a lock, and t…… 阅读全文
C# 状态栏更新不及时的问题
根据这里,http://social.msdn.microsoft.c…,根本问题是线程忙于跑循环,所以没有能及时来绘制 UI,所以解决方法自然就是多线程绘制 UI,他给了几个链接,不过这个不是目前最亟待解决的,所以先放一放
因为循环跑太快了,UI来不急更新画面,UI线程忙着处理循环内的事,虽然可以使用DoEvents让UI更新,但这并不是正…… 阅读全文