E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Linux多线程
linux多线程
编程,替代sleep的几种方式
我只想要进程的某个线程休眠一段时间的,可是用sleep()是将整个进程都休眠的,这个可能就达不到,我们想要的效果了。目前我知道有三种方式:1usleep这个是轻量级的,听说能可一实现线程休眠,我个人目前使用的这种。2select这个可以,我也用过这种方式,它是在轮询。3pthread_cond_timedwait采用pthread_cond_timedwait(pthread_cond_t*con
Robben.Han
·
2020-07-04 18:57
Linux
Linux多线程
服务端编程:使用muduo C++网络库
常见的并发网络服务程序设计方案W.RichardStevens的《UNIX网络编程(第2版)》第27章“Client-ServerDesignAlternatives”介绍了十来种当时(20世纪90年代末)流行的编写并发网络程序的方案。[UNP]第3版第30章,内容未变,还是这几种。以下简称UNPCSDA方案。[UNP]这本书主要讲解阻塞式网络编程,在非阻塞方面着墨不多,仅有一章。正确使用non-
博文视点
·
2020-07-04 12:13
Web开发
脚本语言
软件工程
linux 多线程并发服务器(TCP)
linux多线程
并发服务器(TCP)所谓多线程并发服务器就是基于线程,每个客户端来了创建一个线程,由线程去处理客户端的请求。
CPP后台服务器开发
·
2020-07-04 08:31
Unix网络编程
linux网络编程
精品译文系列:
Linux多线程
应用性能分析
简介本文由西邮陈莉君教授研一学生梁金荣、戴君毅、马明慧等翻译,陈莉君、宋宝华老师指导和审核。译者梁金荣、戴君毅、马明慧等同学热爱开源,践行开放、自由和分享。原文地址:https://easyperf.net/blog/2019/10/05/Performance-Analysis-Of-MT-apps精品英文Linux系列文章翻译工作,由Linux阅码场公众号策划。如果您发现有好的英文文献值得翻译
宋宝华
·
2020-07-04 04:14
推荐《Linux 多线程服务器端编程》
我推荐了《
Linux多线程
服务器端编程——使用muduoC++网络库》给他,他在网上书店看了以后问我为什么推荐这么厚一本书给他,正好这本书我已经早就看完了,一直也想写篇“书评”,就在这里多扯几句。
weixin_30518397
·
2020-07-04 02:30
Linux下多线程服务器Reactor模式总结(精华好文!!)
PS:述而不作,里面很大部分知识都是总结的陈硕(muduo网络库作者,《
Linux多线程
服务端编程》作者)论述,感谢陈硕前辈。
小师兄.
·
2020-07-04 02:29
14.
Linux学习
《
Linux多线程
服务端编程-使用muduo C++网络库》学习笔记——第三章
本文目录第3章多线程服务器的常用场合与常用编程模型单线程服务器的常用编程模型Reactor和Proactor多线程服务器的常用编程模型oneloopperthread线程池作者推荐的模式进程间通信只用TCP多线程服务器的适用场合必须使用单线程的场景单线程程序的优缺点多线程程序有性能优势吗?适用多线程程序的场景例子计算机群线程分类作者关于“多线程服务器的适用场合”的答疑讨论Linux能启动多少线程?
Yanyu-CQU
·
2020-07-04 00:11
学习笔记
C++
《
Linux多线程
服务端编程-使用muduo C++网络库》学习笔记——第二章
本文目录第2章线程同步精要互斥量(mutex)只用非递归的mutex死锁条件变量不要用读写锁和信号量线程安全的单例模式实现使用shared_ptr实现copy-on-write第2章线程同步精要线程同步四项原则,依照重要性排序:尽量不要共享对象,共享对象优先选择不可修改的对象使用高级并发编程构件使用低级同步原语,只用非递归(不可重入)的互斥量和条件变量,不用读写锁、信号量除原子级整数外,不编写无锁
Yanyu-CQU
·
2020-07-04 00:11
学习笔记
C++
Linux多线程
服务端编程:使用muduo C++网络库
《
Linux多线程
服务端编程:使用muduoC++网络库》(多年编写生产环境下多线程服务端程序经验之精华基本信息作者:陈硕出版社:电子工业出版社ISBN:9787121192821上架时间:2013-1
iteye_11916
·
2020-07-04 00:39
计算机图书
初探《
Linux多线程
服务端编程 使用muduo C++网络库》
第1部分c++多线程系统编程第1章线程安全的对象生命期管理1.多个线程同时看到一个对象时,析构可能出现racecondition2.线程安全的类的定义:多个线程同事访问时,其表现出正确的行为;无论操作系统如何调度这些线程,无论这些线程的执行顺序如何交织;调用端代码无须额外的同步或其他协调动作。3.MutexLock封装临界区,用RAII手法封装互斥器的创建和销毁。临界区在linux下是pthrea
mashuiping
·
2020-07-02 11:58
网络编程
Linux多线程
服务端编程(笔记3_4)
每个进程都有自己的独立地址空间,线程的特点是共享地址空间从而可以高效的共享数据。select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:阻塞IO应用进程产生一个systemcall,如果内核没有数据准备好,则会一直wait,处于阻塞,当内核数据准备好之后,将会把数据从内核再拷贝到应用进程,这一copy过程也处于阻塞状态;非阻塞I/O,就意味着当应用进程产
liuxuejiang158
·
2020-07-02 09:00
C/C++
《
Linux多线程
服务端编程》—线程同步精要
并发编程的两种基本模型:messagepassing和sharedmemory。使用messagepassing可以跨机器,分布式系统的架构更具有一致性,扩容起来也较容易。线程同步的四项原则按重要性排序:首要原则是尽量最低限度地共享对象,减少需要同步的场合。一个对象能不暴露给别的线程就不要暴露;如果要暴露,优先考虑immutable对象;实在不行才暴露可修改的对象,并用同步措施来充分保护它。其次是
jiange_zh
·
2020-07-02 05:27
C/C++
多线程
服务器
《
Linux多线程
服务端编程》—muduo网络库(1)
TCP网络编程本质论思维转换:把原来“主动调用recv(2)来接收数据,主动调用accept(2)来接受新连接,主动调用send(2)来发送数据”的思路转换为“注册一个收数据的回调,网络库收到数据会调用我,直接把数据提供给我,供我消费。注册一个接受连接的回调,网络库接受了新连接会回调我,直接把新连接对象传给我,供我使用。需要发送数据的时候,只管往连接中写,网络库会负责无阻塞地发送。”作者(陈硕)认
jiange_zh
·
2020-07-02 05:27
UNIX网络编程
服务器
C/C++
《
Linux多线程
服务端编程》—线程安全的对象生命期管理
当一个对象能被多个线程同时看到时,对象的销毁时机变得模糊不清,可能出现多种竞态条件(racecondition):1.在即将析构一个对象时,从何而知此刻是否有别的线程正在执行该对象的成员函数?2.如何保证在执行成员函数期间,对象不会在另一个线程被析构?3.在调用某个对象的成员函数之前,如何得知这个对象还活着?它的析构函数会不会碰巧执行到一半?线程安全的定义依据[JCP],一个线程安全的class应
jiange_zh
·
2020-07-02 05:27
C/C++
多线程
Linux多线程
编程(6.4)
线程:轻量级的进程,是调度的最小单位,线程是共享同一进程地址空间多个可独立被调度运行的任务一多线程与多进程的区别1.在一个进程中创建的多个线程,共享同一个进程的资源,各线程独立被内核调度2.多个进程是独立地址空间相同点:1.都参与统一的调度2.都有自己的ID,一组寄存器的值不同点:线程间共享统一个进程的地址空间,进程间是独立地址空间二线程间共享资源和私有资源共享资源:全局变量,打开文件获得文件描述
椰子哥·天行者
·
2020-07-02 01:56
Linux进程开发
《
Linux多线程
服务端编程》学习笔记---第一章
多线程下管理对象会遇到的问题:(1)对象析构时可能别的线程在执行该对象的成员函数(2)成员函数执行时该对象正在被别的线程析构(3)在调用某对象时如何得知该对象还未被析构对这些问题进一步看就是要保证多线程环境下对象创建与析构的安全性。对于创建,关键是不要在创建过程中泄露this指针,如果泄露了调用者会在对象还未构造完成之前就开始使用这一对象,如果对象是基类对象,其派生类还未构造,则问题更为严重,所以
不舍驽马
·
2020-07-02 00:12
C/C++
Linux多线程
服务器编程(陈硕)学习总结
这本书确实是学习多核时代采用现代C++编写多线程程序的好书,下面是学习总结:第一章线程安全的对象生命期管理对象的创建很简单,但是不要在构造期间泄漏this指针,比如不要在构造函数中注册任何回调函数,二段式构造有时候是好方法。对象的销毁及析构在多线程中太难,一个万能的解决方案是引入另外一层间接性,比如C++11中的一对神兵利器shared_ptr/week_ptr;shared_ptr能实现线程安全
carlshen8
·
2020-07-01 19:56
C++11
Linux多线程
服务端编程读书笔记 chapter 1 线程安全的对象生命期管理
1.安全地创建对象为了保证对象安全地被构造,即不被其他线程访问一个构造了一半的对象,关键是在构造过程中不泄露this指针,即不要在构造函数中注册任何回调不要在构造函数中将this指针传给跨线程的对象即使在构造函数最后一行也不要,因为有可能是基类,先于派生类先构造。简单来说就是注册回调函数如果需要传入this指针的话,那么实现这个功能就应该另外写一个函数initialize()来实现,而不是在构造函
GrimCake
·
2020-07-01 09:18
Linux多线程
编程-线程安全的对象生命期管理(2)
废话不多说,接着上篇文档继续。3.对象析构针对对象析构的话,分两种情况。在单线程模式下,对象析构显然不会造成问题,最多需要注意一下对象指针是否为空的情况。但是,在多线程模式下,对象析构则会是我们需要重点关注的地方,因为存在太多的竞态条件。对于一般的成员函数,我们只要做到不并发执行(读写不要同时),保证每个成员函数的临界区不重叠,这样就能做到线程安全。但是,保护成员函数临界区的互斥量必须要有效,但是
zhongcanw
·
2020-07-01 07:24
muduo网络库源码剖析
什么是PIMPL?
转载自:https://www.cnblogs.com/joinclear/p/3908661.html作者:joinclear感谢问题源自陈硕《
Linux多线程
服务端编程》第十一章11.4节可参考《C
huygft
·
2020-07-01 03:34
C++
Linux多线程
编程实例解析
Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux下pthread的实现是通过系统调用clone()来实现的。clone()是Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查看有关文档说明。下面我们
zqixiao_09
·
2020-06-30 19:33
Linux
多线程编程
Linux系统应用编程
pthread
本篇转至:http://www.cnblogs.com/zhangxuan/p/6430034.html另一篇
Linux多线程
编程小结写的很好,值得参考。
雨田嘟嘟
·
2020-06-30 04:55
linux
Linux多线程
学习(四)pthread_self
原型:#includepthread_tpthread_self(void);说明:获取本进程自身的ID。进程ID类型是pthread_t,这个类型一般为longlong型,8个字节。测试代码:#include#include#includevoid*thread_one(){printf("thread_onepidis%lld\n",getpid());printf("thread_oneti
xiaoyeyopulei
·
2020-06-30 01:02
linux多线程
linux多线程
(1)
Linux多线程
编程先来谈一谈进程:进程是cpu分配内存资源的最小单位。线程是轻量级的进程,没有进程就没有线程,一个进程包括多个线程。
Jāson
·
2020-06-29 13:23
Linux多线程
编程-线程间参数传递
要求实现在两个子线程通过全局变量传递数据:即在一个子线程中对全局变量的成员进行赋值,在另一个子线程中对全局变量的成员进行取值并显示。体会同一进程的不同线程共享进程所拥有的全部资源的特性。思路首先,定义一个全局结构类型和对应的变量,定义两个Pthread_t类型变量来保存两个子线程的id。再定义一个主函数和两个用于创建子线程的对应函数。在主函数中创建两个函数对应的子线程并对创建是否成功进行判断,创建
leon_wdbt
·
2020-06-29 09:10
Linux
C语言-
linux多线程
编程
线程共享进程的资源(代码段、数据段、堆、核心段),线程也有自己的独立资源:TCB,线程id,寄存器,栈等;线程分为用户级线程和内核级线程,每个用户级线程都绑定一个内核级线程;一、多线程的基本函数头文件:pthread.h数据类型:pthread_t(typedefunsignedlongintpthread_t;)常用函数:1.获取线程自身ID。pthread_tpthread_self();2.
欢欢喜欢欢欢喜喜
·
2020-06-28 23:46
linux
c
linux多线程
的总结(pthread用法)
#includeintpthread_create(pthread_t*restricttidp,constpthread_attr_t*restrictattr,void*(*start_rtn)(void),void*restrictarg);Returns:0ifOK,errornumberonfailure第一个参数为指向线程标识符的指针。第二个参数用来设置线程属性。第三个参数是线程运行函
weixin_34004750
·
2020-06-28 09:32
linux多线程
pthread系列函数详解
linux多线程
pthread系列函数详解
linux多线程
pthread系列函数详解(一)为什么要引入线程线程技术早在60年代就被提出,但是在80年代才真正使用到操作系统中。
weixin_30475039
·
2020-06-27 20:06
Linux多线程
实践(9) --简单线程池的设计与实现
线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务(不止一个不同的任务)就是一个需要解决的关键问题,其实这就是一些"池化资源"技术产
weixin_30437481
·
2020-06-27 19:36
C++中的name mangling
我在这里先推荐一下陈硕的那本
Linux多线程
服务端编程,至于推荐这本书的原因,可以参见我在知乎上的回答。传送门作者在C++编译链接模型精要章节中提到了namemangling。
liangsc94
·
2020-06-27 06:28
C/C++
计算机书籍推荐
Unix/Linux编程实践教程OperatingSystems:ThreeEasyPieces(OSTEP)计算机网络计算机网络计算机网络自顶向下方法图解HTTPTCP/IP详解卷1:协议UNIX网络编程
Linux
三名狂客
·
2020-06-27 02:32
IT杂谈日记
Linux 高效多线程开发
本文中我们从5个方面总结出
Linux多线程
编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉Linux平台的多线程编程。
tmxkwzy
·
2020-06-26 19:04
Linux多线程
实践
①线程基础一.什么是线程在一个程序里的多个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的一个控制序列”。典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程以后,在程序设计时可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各只独立的任务。二.线程的优点(1)通过为每种事件类型的处理分配单独的线程,能够简化处理异步时间的代码。(2)多个线程
tianmo2010
·
2020-06-26 19:48
Linux多线程编程
LInux多线程
编程技术总结
Linux多线程
编程技术总结1、线程的创建、终止及控制:任何进程在启动时就已有了一个主线程,如果需要再生成线程则使用pthread_create函数,在该函数中可以指定线程的属性、线程例程、传给线程例程的参数
学奕
·
2020-06-26 15:37
C/C++编程
Linux
gcc编译出现undefined reference to 'pthread_create'的解决方法
下面,我们先看一个
linux多线程
程序:#include#includevoid*threadFunc(void*p){while(1){printf("a");}returnNULL;}intmain
涛歌依旧
·
2020-06-26 14:58
S1:
C/C++
s2:
软件进阶
s2:
Linux杂项
Linux多线程
(2)
线程的知识点太多,太重要,所以分成三部分进行总结学习线程安全多个线程并发同一段代码时,不会出现不同的结果。常见对全局变量或者静态变量进行操作,并且没有锁保护的情况下,会出现该问题。多个线程对临界资源进行竞争操作时若不会造成数据二义性时则线程安全;否则,此时就是不安全的如何实现线程安全常见的线程安全的情况每个线程对全局变量或者静态变量只有读取的权限,而没有写入的权限,一般来说这些线程是安全的类或者接
skr爱码士
·
2020-06-26 12:28
Linux
多线程
操作系统
Linux 的多线程编程的高效开发经验
cn.ibm.com),软件工程师,IBM张俊伟(
[email protected]
),软件工程师,IBM2009年4月23日本文中我们针对Linux上多线程编程的主要特性总结出5条经验,用以改善
Linux
simbi
·
2020-06-26 10:58
Linux系统与编程
Linux pthread详解
本文中我们针对Linux上多线程编程的主要特性总结出5条经验,用以改善
Linux多线程
编程的习惯和避免其中的开发陷阱。
renzha0401
·
2020-06-26 05:40
Linux多线程
——封装POSIX线程库(三)线程的封装
C++封装POSIX线程库(三)线程的封装1.POSIX线程简介POSIX提供以下函数:pthread_create():创建一个线程pthread_exit():终止当前线程pthread_cancel():中断另外一个线程的运行pthread_join():阻塞当前的线程,直到另外一个线程运行结束pthread_attr_init():初始化线程的属性pthread_attr_setdetac
Come_code
·
2020-06-25 21:35
C++
Linux
Linux多线程
——封装POSIX线程库(一)锁封装
Linux多线程
——封装POSIX线程库(一)锁封装1.互斥锁简介本文对Linux中的pthread_mutex_t做一个简易的封装。
Come_code
·
2020-06-25 21:34
Linux
Linux多线程
编程---线程间同步(互斥锁、条件变量、信号量和读写锁)
本篇博文转自http://zhangxiaoya.github.io/2015/05/15/multi-thread-of-c-program-language-on-linux/Linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量、信号量和读写锁。下面是思维导图:简介进程—资源分配的最小单位线程—程序执行的最小单位进程是一个程序的一个实例,拥有自己独立的各种段(数据段,代码段等等
人间凑数
·
2020-06-25 20:55
嵌入式
【Linux】pthread与socket高并发程序设计
【
Linux多线程
服务器程序设计】#include#include#include#include#include#include#include#include#include#includevoid
AnKun.
·
2020-06-24 22:01
Linux
linux串口通信协议编程详解
linux串口通信协议编程详解:1.串口通信协议拟定;2.通信校验--CRC;3.
Linux多线程
编程;1.串口通信协议;1.1协议拟定:项目长度定义备注帧头(head)10xf4恒不变流水号(serial_num
忧伤还是快乐
·
2020-06-24 17:53
linux嵌入式开发
Linux多线程
编程(一)---多线程基本编程
线程概念线程是指运行中的程序的调度单位。一个线程指的是进程中一个单一顺序的控制流,也被称为轻量级线程。它是系统独立调度和分配的基本单位。同一进程中的多个线程将共享该系统中的全部系统资源,比如文件描述符和信号处理等。一个进程可以有很多线程,每个线程并行执行不同的任务。线程与进程比较①和进程相比,它是一种非常“节俭”的多任务操作方式。在Linux系统中,启动一个新的进程必须分配给它独立的地址空间,建立
玖零大壮
·
2020-06-24 16:57
Linux应用编程
嵌入式Linux应用程序开发
多线程编程
一个比较经典的生产者消费者模型(Linux C++实现)
学习了几天
Linux多线程
,大多是看的别人的博客,并试着写了个小例子,现在也把学到的一些东西记录下来,供以后查阅,属于初级入门的范围,望共勉。
lycommand
·
2020-06-24 10:22
后端研发
Linux多线程
函数pthread_create()函数
函数原型:#includeintpthread_create(pthread_t*thread,constpthread_attr_t*attr,void*(*start_routine)(void*),void*arg);4个参数:第一个参数:指向线程标示符pthread_t的指针;第二个参数:设置线程的属性第三个参数:线程运行函数的起始地址第四个参数:运行函数的参数pthreadTest.c通
luyee2010
·
2020-06-24 10:12
c/c++
linux
linux多线程
学习(六)——信号量实现同步。
信号量的互斥同步都是通过PV原语来操作的,我们可以通过注册两个信号量,让它们在互斥的问题上互动,从而达到同步。通过下面实例就可以很容易理解:#include#include#include#include#include#include#definereturn_if_fail(p)if((p)==0){printf("[%s]:funcerror!/n",__func__);return;}ty
longshengguoji
·
2020-06-24 08:16
高性能计算
Linux多线程
基础学习(四)线程的终止、连接、取消
线程终止:1、如果进程中的任意一个线程调用了exit,_Exit,_exit,那么整个进程就会终止2、从启动例程中返回,返回值是线程的退出码3、线程可以被同一进程中的其他线程取消4、线程调用pthread_exit(void*rval)函数,rval是退出码#include#include#include#include#includeusingnamespacestd;intmethod=1;v
laismith
·
2020-06-24 02:22
多线程
为什么多线程读写 shared_ptr 要加锁?
giantchen_AT_gmail_DOT_com)2012-01-28最新版下载:http://chenshuo.googlecode.com/files/CppEngineering.pdf我在《
Linux
iteye_11790
·
2020-06-23 18:29
linux多线程
编程
学东西,往往实例才是最让人感兴趣的,老是学基础理论,不动手,感觉没有成就感,呵呵。下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。下面是我们的代码:/*thread_example.c:cmultiplethreadprogramminginlinux*author:falcon*E-mail:tunzhj0
hxingd
·
2020-06-23 16:27
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他