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多线程
开发(三):使用C++封装线程消息通信
正所谓“师夷长技已治夷”,在我们使用C++来封装Linux下的多线程消息通信前,最好先学一下Windows中多线程是如何进行通信的。Windows系统会为每个线程配备一个消息队列【Tips1】,其他线程others可以通过调用postThreadMessages函数,向线程拥有者owner发送消息;而Owner可以调用GetMessage函数从消息队列中获取消息Tips1:我刚开始学的时候,以为这
向浅
·
2020-08-16 10:51
Linux 多线程同步之消息队列
Linux多线程
同步之消息队列时间:2012-05-12来源:IT技术吧作者:itjsb.com整理:www.itjsb.com点击:131次进入论坛讨论消息队列是消息的链表,存放在内核中并有消息队列标示符标示
liushi558
·
2020-08-16 06:01
linux
linux 下获取线程ID
linux多线程
环境下gettid()pthread_self()两个函数都获得线程ID,但这2个ID有所不同gettid是内核中的线程的ID:POSIXthreadID可以在一个进程内唯一标识一个线程
jackytse_
·
2020-08-16 04:10
linux
(一)UDP基本编程步骤
UDP
服务端编程
分5步:1.创建UDPsocket套接字,用socket函数。
ZJE_ANDY
·
2020-08-16 02:17
#
Linux
C网络编程
【Java
服务端编程
〖01〗】搭建环境第一步
1:安装myeclipse2:下载解压tomcat7.553:下载解压maven4:配置maven,之所以用maven是因为maven管理项目很方便,之所以重新配置maven是因为本地maven版本低,功能具有局限性右击项目runasmavenclean下载必要的文件5:新建maven项目,选择webapp6:加载spring,要想用spring,首先就是要有springpom.xml4.0.0c
krmao
·
2020-08-16 00:40
Java服务端编程
evpp网络库代码分析(二)
上图是盗用自《
Linux多线程
服务端编程
,使用muduoC++网络库》一书6.6.2章节(以及下面的时序图也是盗用该书的图)。
mkelehk
·
2020-08-15 23:59
TCP/IP网络
LINUX多线程
中的释放问题pthread_detach
今天同事让帮忙修改播放dvb信号时,自动解码音视频pid的功能。结果之前用测试程序一直成功的解析线程,在加入到项目代码以后,创建线程大概5次时,再次创建线程就会失败,从网上了解到,可是能线程的资源释放问题。在linux中,pthread有两种状态joinable状态和unjoinable状态,一般创建线程后,线程都是属于joinable状态,如果一个线程结束运行但没有被join,还有一部分资源没有
fckallineedisu
·
2020-08-15 22:23
C语言编程
Linux系统
Linux多线程
学习(三)线程属性
一、属性线程的创建函数pthread_creat的第二个参数为pthread_attr_t类型的指针(默认属性创建线程时赋值NULL),pthread_attr_t是一个结构体类型,定义如下:typedefstruct{intdetachstate;//线程的分离状态intschedpolicy;//线程调度策略structsched_paramschedparam;//线程的调度参数intinh
&Hello Code
·
2020-08-15 22:31
linux多线程
编程,你还在用sleep么?用pthread_cond_timedwait吧
摘要:多线程编程中,线程A循环计算,然后sleep一会接着计算(目的是减少CPU利用率);存在的问题是,如果要关闭程序,通常选择join线程A等待线程A退出,可是我们必须等到sleep函数返回,该线程A才能正常退出,这无疑减慢了程序退出的速度。当然,你可以terminate线程A,但这样做很不优雅,且会存在一些未知问题。采用pthread_cond_timedwait(pthread_cond_t
a1232345
·
2020-08-15 22:10
Linux进程与线程
Linux多线程
1.线程线程概念:linux下,线程以进程的pcb模拟实现,因此linux下的线程就是pcb,是一个轻量级进程;简单谈一谈线程:说到线程概念,必须先说到进程。进程是一个运行中的程序,在操作系统中,一个程序运行起来,程序被加载到内存中,操作系统创建一个进程描述符(进程控制块),PCB对程序的运行进行描述控制,因此进程就是pcb,在linux是task_struct结构体。线程与进程:1.linux线
不一样的博客
·
2020-08-15 20:40
Liunx
Linux多线程
编程(C语言版)
//单线程版本:#include#include#include#include#includevoidprint_currentTime(void){time_tct;//long类型ct=time(NULL);//ctime:将秒数转换成字符串printf("currenttimeis:'%s'",ctime(&ct));pthread_exit("Timethreadfinished!\n"
狗头青的征战史
·
2020-08-15 12:10
如何在 Ubuntu 20.04 上安装 PHP
本文最先发布在:https://www.itcoder.tech/posts/how-to-install-php-on-ubuntu-20.04/PHP是世界上使用广泛的
服务端编程
语言之一。
雪梦科技
·
2020-08-15 09:06
Ubuntu
Netty入门之WebSocket初体验
IO通信BIO通信伪异步IO通信NIO模型AIO通信Netty实现WebSocketmaven依赖启动类自己封装的处理类全局配置客户端测试什么是Netty高性能事件驱动、异步非阻塞基于NIO的客户端、
服务端编程
框架稳定性和伸缩性
yu_kang
·
2020-08-15 04:37
netty
Netty学习笔记一 项目demo
Netty是一个基于NIO的客户/
服务端编程
框架,可以简化网络应用的编程开发过程。
谢厂节_编程圈
·
2020-08-15 01:56
Java-Netty专栏
Reactor模式解析——muduo网络库
注:本文的大部分代码和图文都来自《
Linux多线程
服务端编程
》,可直接参考muduo的源码,或者参考我这里抄着玩儿的版本。R
weixin_34389926
·
2020-08-14 21:22
muduo网络库的快速学习方法
muduo是由陈硕开发的一个
Linux多线程
网络库,采用了很多新的Linux特性,项目代码量不到5000行,性能也不错。是难得的一个既能用来学习,也可以在实际生产环境中使用的网络库。
阿龙哥哥
·
2020-08-14 20:54
c++
muduo
学习
C++11 信号槽 signal/slot
此处应该@陈硕大大,《
Linux多线程
服务端编程
:使用muduoC++网络库》。一、首先说一下shared_ptr的线程安全性,它的线程安全性级别和std::string是一样的。
p2016
·
2020-08-14 18:06
C++
多线程
使用C++11改造muduo
上周拿到了订购的《
Linux多线程
服务端编程
:使用muduoC++网络库》一书,花费一天时间浏览了一遍,并细读了其中感兴趣的一些章节。阅毕,决定用C++11改造其相应源码muduo。
企鹅
·
2020-08-14 18:32
linux网络
linux多线程
编程学习笔记(2)
1)互斥锁(互斥访问,间接制约关系)1.1)原理互斥锁以排他方式防止共享数据被并发访问。互斥锁是一个二元变量,其状态为开锁(允许0)和上锁(禁止1),将某个共享数据资源与某个特定互斥锁在逻辑上绑定。(1)在访问该资源前,首先申请该互斥锁,如果该互斥锁处于开锁状态,则申请到该锁对象,并立即占有该锁(使该锁处于锁定状态),以防止其它线程访问该资源;如果该互斥锁处于锁定状态,默认阻塞当前进程。(2)只有
LN-Curiosity
·
2020-08-14 18:19
linux
operating
system
muduo源码学习笔记(2)
前言:对于muduo库,我觉得,光
Linux多线程
上提到的一些实现,还是不够的,在base/里面,还有/net里面提供了很多不错的实现,值得去学习,暑假算是看看muduo的百分之八十的源码,并对其进行了一次实现
梦花火
·
2020-08-14 17:24
C++
Muduo
muduo网路库——高效的多线程日志
在
服务端编程
中,日志是必不可少的,通常用于故障诊断和追踪,也可用于性能分析。在生产环境中应该做到"LogEverythingAllTheTime"。
amoscykl
·
2020-08-14 16:59
moduo网络库
muduo源码分析
muduo网络库学习笔记(8):高效日志类的封装
前言在
服务端编程
中,日志是必不可少的。开发过程中,日志的存在能方便我们调试错误和更好地理解程序;运行过程中,日志能帮助我们诊断系统故障并处理、记录系统运行状态。
li27z
·
2020-08-14 16:37
muduo
Muduo日志系统
本文是笔者通过学习Muduo多线程网络程序开发库日志模块所做出的总结,文中大量引用了陈硕所著的《
Linux多线程
服务端编程
:使用muduoC++网络库》以及luotuo44《muduo日志库学习》博客中的内容
要回杭州的李同学
·
2020-08-14 15:54
perfbook读书笔记 chapter 2
之前看过ShuoChen的《
Linux多线程
服务端编程
》,越看写的越牛逼,作者从多核时代分布式并发的角度去讲自己一个网络库muduo的实现,以TCP作为IPC的主要方式。
Shim_ZoMoe
·
2020-08-14 08:06
perfbook读书笔记
tcpsocket / udpsocket
/*封装一个tcpsocket类向外提供简单接口,能够实现客户端
服务端编程
流程*//*1.创建套接字2.绑定地址信息3.开始监听/发起连接请求4获取已完成链接5发送数据6接收数据7关闭套接字*/#include
Coursp
·
2020-08-14 08:07
Linux多线程
──读者写者问题
读者写者问题这也是一个非常经典的多线程题目,题目大意如下:有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者读时写者也不能写。程序://reader_writer.cpp////读者写者问题//有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,//同样有读者读时写者也不能写。//#include#include#includ
iteye_8149
·
2020-08-14 05:36
Linux多线程
实践(7) --多线程排序对比
屏障intpthread_barrier_init(pthread_barrier_t*restrictbarrier,constpthread_barrierattr_t*restrictattr,unsignedcount);intpthread_barrier_destroy(pthread_barrier_t*barrier);intpthread_barrier_wait(pthread
weixin_30898109
·
2020-08-13 21:30
Linux多线程
学习(七)sched_yield
sched_yield()这个函数可以使用另一个级别等于或高于当前线程的线程先运行。如果没有符合条件的线程,那么这个函数将会立刻返回然后继续执行当前线程的程序。在成功完成之后返回零,否则返回-1.看下面一个实例#define_MULTI_THREADED#include#include#include#defineLOOPCONSTANT1000#defineTHREADS3pthread_mut
xiaoyeyopulei
·
2020-08-12 18:23
linux多线程
Rust 与
服务端编程
的碎碎念
Rust与
服务端编程
的碎碎念https://zhuanlan.zhihu.com/p/30028047Rust是Mozilla推出的一门系统编程语言,非常看重内存安全,是一门非常优秀的语言。
风色年代
·
2020-08-12 15:50
大并发
VS
高可用
Linux多线程
编程之员工信息管理系统
员工信息管理系统是基于
Linux多线程
并发服务器编程,由服务器端和客户端构成,客户端可以运行在多个不同的主机上连接服务器,服务器对员工信息的操作结果通过“员工信息文件”来保存,即:“员工信息”存放在后台的文件中
cnhui2016
·
2020-08-12 01:27
Userspace开发
linux多线程
socket编程一些心得
http://hi.baidu.com/netpet/blog/item/2cc79216d9012b54f2de32b9.html前段时间将新的web模型办到linux上来,用epoll代替了IOCP,经测试确实性能提高了很多,吞吐量也寓所提高,对于linux下面的网络编程不是三言两语就能说得透的了,加上多线程就更麻烦了,但是epoll模型的精髓就是事件驱动,这种模型提供了保持连接socket直
千重浪_WaterStone
·
2020-08-12 01:55
Network
Linux多线程
编程(初步)
1.Linux进程与线程Linux进程创建一个新线程时,线程将拥有自己的栈(因为线程有自己的局部变量),但与它的创建者共享全局变量、文件描述符、信号句柄和当前目录状态。Linux通过fork创建子进程与创建线程之间是有区别的:fork创建出该进程的一份拷贝,这个新进程拥有自己的变量和自己的PID,它的时间调度是独立的,它的执行几乎完全独立于父进程。进程可以看成一个资源的基本单位,而线程是程序调度的
慎薇
·
2020-08-12 01:05
linux
Linux多线程
编程初步
1、Process(进程)进程,是管理程序运行的资源。(Processiscontainerofthememoryandresouresoftheprogram)。每个进程至少拥有一个线程(任务)来执行程序。2、Thread(线程)线程是程序运行的通道,操作系统通过线程,按照一定顺序去逐步执行程序。(Athreadisthepathtakenbyaprogramwhilerunning,thest
nnnvvv
·
2020-08-12 01:27
Linux多线程编程
Linux多线程
编程(一)
linux多线程
设计是指基于Linux操作系统下的多线程设计,包括多任务程序的设计,并发程序设计,网络程序设计,数据共享等。Linux系统下的多线程遵循POSIX线程接口,称为pthread。
Fybon
·
2020-08-12 01:18
kernel
linux
Linux多线程
编程—初步
linux多线程
设计是指基于Linux操作系统下的多线程设计,包括多任务程序的设计,并发程序设计,网络程序设数据共享等。Linux系统下的多线程遵循POSIX线程接口,称为pthread。
fk961859482
·
2020-08-12 01:33
操作系统
Linux 多线程编程(实现生产者消费者模型)
Linux多线程
编程线程分类线程按照其调度者可以分为用户级线程和内核级线程两种。内核级线程在一个系统上实现线程模型的方式有好几种,因内核和用户空间提供的支持而有一定程度的级别差异。
wj199395
·
2020-08-11 19:24
操作系统
嵌入式工程师以及C++程序员到公司就业需要掌握那些技术?
嵌入式开发方向图森科技有限公司,嵌入式软件研发1、c/c++,python,Linux,shell,Makefile2、Linux下c/c++调试手段3、
Linux多线程
,进程通信,文件io操作4、socket
new_stylle
·
2020-08-10 12:35
C/C++
嵌入式
c++
嵌入式
Linux多线程
基础学习(七)pthread一次性初始化
在多线程环境中,有些事仅需要执行一次。通常当初始化应用程序时,可以比较容易地将其放在main函数中。但当你写一个库时,就不能在main里面初始化了,你可以用静态初始化,但使用一次初始化(pthread_once)会比较容易些。首先要定义一个pthread_once_t变量,这个变量要用宏PTHREAD_ONCE_INIT初始化。pthread_once_tonce_control=PTHREAD_
laismith
·
2020-08-10 06:10
多线程
Linux多线程
基础学习(五)线程同步-读写锁
读写锁基础概念通过读写锁,可以对受保护的共享资源进行并发读取和独占写入。读写锁是可以在读取或写入模式下锁定的单一实体。要修改资源,线程必须首先获取互斥写锁。必须释放所有读锁之后,才允许使用互斥写锁。对数据库的访问可以使用读写锁进行同步。读写锁支持并发读取数据库记录,因为读操作不会更改记录的信息。要更新数据库时,写操作必须获取互斥写锁。在一些程序中存在读者写者问题,也就是说,对某些资源的访问会存在两
laismith
·
2020-08-10 06:10
多线程
多线程
linux
编程
Linux多线程
基础学习(八)私有数据
在进程内的所有线程共享相同的地址空间,任何声明为静态或外部的变量,或在进程堆声明的变量,都可以被进程所有的线程读写。那怎样才能使线程序拥有自己的私有数据呢。posix提供了一种方法,创建线程键。1.为什么需要线程私有数据:原因一:有时候需要维护基于每个线程的数据,用线程ID作为索引。因为线程ID不能保证是小而连续的整数,所以不能简单的分配一个线程数据数组,用线程ID作为数组的索引。即使线程ID确实
laismith
·
2020-08-10 06:10
多线程
Linux多线程
之线程终止
主动终止(终止自己)调用return(void*)var;调用voidpthread_exit(void*value_ptr),其它线程可以调用pthread_join获得这个针。注:这两个函数返回值都为指针类型,在线程中使用时所指向的地址必须为:malloc分配的或者全局变量;因为当线程退出是其作用域的变量都将消失。这两个函数的返回值都能通过intpthread_join(pthread_tth
Mark_404
·
2020-08-09 03:46
Linux多线程编程
Linux多线程
之线程控制与清理
问题有时候希望线程退出时能够自动的执行某些函数,为了能达到此目的,OS提供了两个函数帮我们完成这个功能voidpthread_cleanup_push(void(*rtn)(void*),void*arg);voidpthread_cleanup_pop(intexecute);这两个函数是成对使用的,缺一不可。rtn:清理函数指针,返回类型为void参数类型为void*arg:调用清理函数传递的
Mark_404
·
2020-08-09 03:46
Linux多线程编程
Linux多线程
三 简单的TCP服务端和客户端传输
服务端/*intsocket(intdomain,inttype,intprotocol);建立一个协议族为domain、协议类型为type、协议编号为protocol的套接字文件描述符函数socket()的参数domain用于设置网络通信的域,函数socket()根据这个参数选择通信协议的族。函数socket()的参数type用于设置套接字通信的类型。函数socket()的第3个参数protoc
去你个锤子
·
2020-08-09 02:14
Linux
Linux多线程
一
#include#include#include#include/*#########################################1.创造新线程:1.线程ID2.创建线程2.线程生命周期:1.初始线程、主线程2.线程创建3.线程的基本状态:a.就绪:线程能够运行,但是在等待可用的处理器(刚创建、解除阻塞、线程被抢占)b.运行:线程正在运行,多核系统中,可能同事多个线程在运行(处
去你个锤子
·
2020-08-09 02:14
Linux
Linux多线程
二
互斥锁和条件变量////模拟黄牛抢票,100张票,共有四个黄牛在抢票//#include//#include//#include//#include//#include//intticket=100;//pthread_mutex_tmutex=PTHREAD_MUTEX_INITIALIZER;//定义初始化锁//void*thr_start(void*arg){//while(1){//pth
去你个锤子
·
2020-08-09 02:14
Linux
浅谈
linux多线程
编程和windows多线程编程的异同
很早以前就想写写linux下多线程编程和windows下的多线程编程了,但是每当写时又不知道从哪个地方写起,怎样把自己知道的东西都写出来,下面我就谈谈
linux多线程
及线程同步,并将它和windows的多线程进行比较
yhf19881015
·
2020-08-07 22:31
Linux多线程
的同步与互斥
一、共享资源的使用1.由于同一进程下的多线程是共用地址空间,因此就要考虑共享资源的使用。如果没有一定的规则,那么共享资源的内容就会显得杂乱无章,这里引入了同步与互斥的概念!2.进行多线程编程,因为无法知道哪个线程会在哪个时候对共享资源进行操作,因此让如何保护共享资源变得复杂。为了解决共享资源的使用问题,通过下面这些技术的使用,可以解决线程之间对资源的竞争:a.互斥量Mutexb.信号灯Semaph
zhengqijun_
·
2020-08-04 22:54
Linux
C
Linux多线程
(五)多线程访问共享资源
实验:创建两条线程,线程的执行函数是取钱,(本实验有3个文件,其中account.c和account.h文件是模拟银行取钱,存钱,查询余额的函数,test.c为主函数。由于账户里有10000元,两个人去取钱,结果同时取到了10000元源码如下:account.c#include"account.h"#include#include#includeAccount*create_account(int
qq_38211852
·
2020-08-04 17:00
Linux多线程
编程(三)---线程之间的同步与互斥进阶实验
实验目的通过编写经典的“生产者-消费者”问题的实验,进一步熟悉Linux中的多线程编程,并且掌握用信号量处理线程间的同步和互斥问题。实验内容“生产者--消费者”问题描述如下:有一个有限缓冲区(这里用有名管道实现FIFO式缓冲区)和两个线程:生产者和消费者,它们不停地把产品放入缓冲区和从缓冲区拿走产品。一个生产者在缓冲区满的时候必须等待,一个消费者在缓冲区空的时候也必须等待。另外,因为缓冲区是临界资
玖零大壮
·
2020-08-04 15:16
Linux应用编程
嵌入式Linux应用程序开发
Linux多线程
编程(二)---线程之间的同步与互斥
/**********************************************************************2019年6月26日声明:本博客资源下载积分最开始为免费的,我也不知道为什么有的很高了。*********************************************************************/概述由于线程共享进程的资源和地
玖零大壮
·
2020-08-04 11:45
Linux应用编程
嵌入式Linux应用程序开发
上一页
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
其他