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
LinuxUnix系统编程
Linux
系统编程
——线程基础知识
线程概念什么是线程LWP:lightweightprocess轻量级的进程,本质仍是进程(在Linux环境下)进程:独立地址空间,拥有PCB线程:也有PCB,但没有独立的地址空间(共享)区别:在于是否共享地址空间。独居(进程);合租(线程)。Linux下:线程:最小的执行单位进程:最小分配资源单位,可看成是只有一个线程的进程。Linux内核线程实现原理类Unix系统中,早期是没有“线程”概念的,8
奋斗的小程序员
·
2022-03-23 07:15
Linux系统编程
Linux线程
Android
系统编程
入门系列之硬件交互——通信硬件电信SIM卡
现在的SIM卡通常具备基站定位、语音通话、短信消息、网络流量这四大功能,而在移动端是无法对SIM卡使用基站定位功能的,所以这里只介绍移动端如何使用SIM卡实现语音通话、短信消息、数据流量三个功能。语音通话Android系统中提供了通话服务,同时自带系统级应用可以通过该通话服务使用SIM卡的通话功能。因此在第三方应用中使用语音通话功能,有两种思路。其一是通过应用间唤起,由第三方应用传入指定的Inte
白少木丿
·
2022-03-20 14:00
C++ QT进阶
于是乎,开始学习数据结构,网络编程,
系统编程
,web前端(html、css、JavaScript)······因为学了c++还没找到一个好的应用,感觉很糟!如果您想了解为什么学
杰之行
·
2022-03-18 22:16
C/C++
Java/Scala
qt
道翰天琼认知智能为您解密:Rust语言杀疯了!前有谷歌高薪争夺 Rust 人才,Facebook再官宣加入Rust基金会
同时还希望Rust成为
系统编程
和其他领域的主流语言选择
认知智能道翰天琼
·
2022-03-18 07:24
自动驾驶
凭借这份python面试宝典,我成功拿到了字节跳动、腾讯、阿里巴巴、美团、小米等六家大厂offer
今天给大家分享我拿到大厂offer的利器,python基础到进阶核心知识面试宝典,内容囊括python基础语法、文件操作、模块与包、数据类型、企业面试题、元类、内存管理与垃圾回收机制、函数、面向对象、
系统编程
Python_chichi
·
2022-03-17 14:46
python面试
python开发
python小白
python
面试
程序人生
c语言嵌入式操作系统屏幕操作,C语言嵌入式
系统编程
(屏幕操作篇)
汉字处理现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能。例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能;一个提供汉字显示功能的空调的LCD上不需要显示一条"短消息",诸如此类。但是一部手机、小灵通则通常需要包括较完整的汉字库。如果包括的汉字库较完整,那么,由内码计算出汉字字模在库中的偏移是十分简单的:汉字库是按照区位的顺
朱国苗
·
2022-03-08 11:14
c语言嵌入式操作系统屏幕操作
在c语言中如何交叉存放,经典:C语言在嵌入式
系统编程
时的注意事项
p++(或++p)的结果等同于:p=p+sizeof(int),而p-(或-p)的结果是p=p-sizeof(int)。同理,若执行:longint*p=(longint*)0xF000FF00;则p++(或++p)的结果等同于:p=p+sizeof(longint),而p-(或-p)的结果是p=p-sizeof(longint)。记住:CPU以字节为单位编址,而C语言指针以指向的数据类型长度作自
许晨飞
·
2022-03-08 11:43
在c语言中如何交叉存放
【校招 --阶段一
系统编程
】线程控制
1线程终止如果需要只终止某个线程而不终止整个进程,可以有三种方法:从线程函数return。这种方法对主线程不适用,从main函数return相当于调用exit。线程可以调用pthread_exit终止自己。一个线程可以调用pthread_cancel终止同一进程中的另一个线程。pthread_exit函数功能:线程终止原型voidpthread_exit(void*value_ptr);参数val
自首的小偷
·
2022-03-07 20:41
校招
linux
Linux
文件系统
静态库
线程控制
Android
系统编程
入门系列之硬件交互——无线通信WLAN
Android系统的移动设备大多支持无线WLAN技术。利用该技术,不仅能实现互联网通信,还能实现无线定位,热点共享等远程通信功能。针对使用WLAN的不同功能,可能需要分别申请不同的权限声明,同时调用不同的系统框架API,下文将按照不同的使用功能分别介绍。扫描无线设备该功能通常只允许在系统自带的设置应用中使用,当然如果是第三方应用的目标版本在Android9.0即API28以下,也可以使用该功能。扫
白少木丿
·
2022-03-06 14:00
python题库选择题刷题训练_python题库刷题训练开源到了Github
本文截取了一些面试题及解决方案:Python基础文件操作模块与包数据类型企业面试题Python高级设计模式
系统编程
Python基础什么是Python?
weixin_39846089
·
2022-02-28 13:01
python题库选择题刷题训练
校招 --阶段一
系统编程
】基于进程控制的实现简单的shell
考虑下面这个与shell典型的互动:用下图的时间轴来表示事件的发生次序。其中时间从左向右。shell由标识为sh的方块代表,它随着时间的流逝从左向右移动。shell从用户读入字符串"ls"。shell建立一个新的进程,然后在那个进程中运行ls程序并等待那个进程结束。然后shell读取新的一行输入,建立一个新的进程,在这个进程中运行程序并等待这个进程结束。所以要写一个shell,需要循环以下过程:获
自首的小偷
·
2022-02-22 22:09
校招
linux
linux
bash
运维
shell
系统编程
-------文件操作
文件的操作1、文件打开使用open函数打开和创建函数#include#include#includeintopen(constchar*pathname,intflags);intopen(constchar*pathname,intflags,mode_tmode);参数:pathname待打开文件路径flags打开模式mode仅在flags参数中含有O_CREAT时有效,设定新文件的打开权限返
Hassan_chao
·
2022-02-20 12:41
初始Linux—Linux
系统编程
第三节——初始进程
目录冯·诺依曼体系结构操作系统:OperatorSystem(OS)进程的基本概念进程标识符通过系统调用创建进程-fork初识进程状态僵尸进程孤儿进程进程优先级环境变量和环境变量相关的命令环境变量的组织方式main函数的三个参数冯·诺依曼体系结构在说冯诺依曼体系结构之前,我们先来了解这么一个常识:我们的电脑或者手机,总的来说,其体系结构都是由软件+硬件构成。而硬件部分,有像我们所说的磁盘、键盘、网
jxwd
·
2022-02-18 19:37
Linux
linux
运维
服务器
c语言
list
【Linux
系统编程
_Go语言系列】杂记篇(一)
博客原文地址这篇文章我想谈谈关于Go语言学习的思路。最近一直在看书,没怎么写博客,换个新号,重新整理下思路,开始记录这一段时间以来的学习成果。日常开发以Golang为主,市面上关于Golang的书基本都看过了,有几本印象深刻,《Go语言圣经》、《Go高级编程》、《Go源码剖析》,至于其他的书籍,也不是说不好,只是内容上雷同点较多,可能是因为先看了《Go语言圣经》的原因,后面看其他的书籍感觉基本上没
Geange
·
2022-02-18 07:12
Linux/UNIX
系统编程
手册-基本概念
Linux/UNIX
系统编程
手册[德]MichaelKerrisk第2章基本概念第3章
系统编程
概念基本概念内核内核的职责:(Tasksperformedbythekernel)进程调度(Processscheduling
妖小灰
·
2022-02-17 17:01
Scala类型系统
Scala类型
系统编程
:Scala的类和方法、函数都可以是泛型,在Spark源码中可以到处看到类和方法的泛型,在实际实例化的时候指定具体的类型,例如Spark最核心、最基础、最重要的抽象数据结构RDD里面关于
SunnyMore
·
2022-02-16 07:07
Linux
系统编程
-进程概念、进程管理、信号处理
1.进程知识点操作系统里的进程是程序一次执行的过程,是操作系统动态执行的基本单元;每当创建新的进程后,操作系统会为新的进程分配一个唯一的标识符,方便后续管理进程。进程的概念主要有两点:第一,进程是一个实体。每个进程都有自己的虚拟地址空间,包括文本区、数据区、和堆栈区。文本区域存储处理器执行的代码;数据区存储变量和动态分配的内存;堆栈区存储着活动进程调用的指令和本地变量。第二,进程是一个“执行中的程
DS小龙哥
·
2022-02-15 09:01
Linux系统编程与驱动开发
linux
服务器
运维
系统编程
--进程间通信
四种方式管道(仅有血缘关系的使用)信号(开销小)套接字共享映射区一、管道linux下文件类型共七种:普通,目录,软链接字符,块,管道,套接字-----伪文件,不占用磁盘,仅占用内存缓冲区。管道需要保证单向流通,不能有第三方连通管道1.1管道的特点由两个文件描述符引用,一个表示读,一个表示写规定数据从写端流向读端由环形队列实现,借助内存缓冲区(大小4k),因此读取后就消失无论匿名还是有名,读取之后数
魔芋辣椒
·
2022-02-12 00:14
Linux网络编程
前言这篇文章承接Linux
系统编程
,简单记录了一下,顺便把实现的代码都贴在文章中了。服务器的底层实现,好像Get了一丢丢。加油,少年!
杰之行
·
2022-02-11 18:16
C/C++
Java/Scala
linux
网络
服务器
linux
系统编程
-内存管理day02
本节总结了8.3~8.5的内容数据段的管理在老版本的Unix系统中,堆和栈还在同一个段中。堆中动态存储器的分配由数据段的底部向上生长;栈从数据段的顶部向着堆往下生长。堆和栈的分界线叫做中断(break)或中断点(breakpoint)。在现代系统中,数据段存在于它自己的内存映射中,仍用中断点来标记映射的结束地址。提供以下函数:#includeintbrk(void*end);void*sbrk(i
桔子满地
·
2022-02-10 17:40
Linux系统:基础指令
Linux基础指令了解Linux的发展史之后,就要开始使用Linux系统,其第一步就是先熟悉Linux的各种指令,之后才能谈Linux的
系统编程
和网络编程。1.pwd指令pwd显示用户当前所在目录。
AKA你的闺蜜
·
2022-02-07 07:43
Linux系统网络编程
linux
服务器
运维
系统编程
-------线程编程----线程创建和调度
线程的创建和调度1、线程的创建pthread_create创建线程#includeintpthread_create(pthread_t*thread,constpthread_attr_t*attr,void*(*start_routine)(void*),void*arg);参数:pthread_t*thread指定创建线程idconstpthread_attr_t*attr;NULLvoid
Hassan_chao
·
2022-02-06 10:43
Linux
系统编程
—信号量
信号量(简介)共享内存和消息队列,这两者都是用于交换数据,而信号量通常用来做进程同步。在系统中,给予每一个进程一个信号量,代表每个进程目前的状态,未得到控制权的进程会在特定地方被强迫停下来,等待可以继续进行的信号到来。如果信号量是一个任意的整数,通常被称为计数信号量,或一般信号量;如果信号量只有二进制的0或1,称为二进制信号量。在linux系统中,二进制信号量又称互斥锁。信号量(操作)要掌握信号量
飞扬code
·
2022-02-05 23:35
Python错题集
以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比C语言、C++语言或Java之类的
系统编程
语言要简单容易。
weixin_53624241
·
2022-02-05 07:10
错题集
python
数组
C语言之父 UNIX之父 Dennis M. Ritchie
但今天C语言依旧在
系统编程
、嵌入式编程等领域占据着统治地位。C语言,这种最有效、最通用的编程语言,就是他开发的,而这
极杰子
·
2022-02-04 17:54
IT
技术名人
语言
unix
c
工作
编程
pascal
Android
系统编程
入门系列之硬件交互——多媒体麦克风
在多媒体摄像头及相关硬件文章中,对摄像头的使用方式需要区分应用程序的目标版本以使用不同的代码流程,而与之相比,麦克风硬件的使用就简单多了。麦克风及相关硬件麦克风硬件在移动设备上作为音频的采集设备,由于只需要一个收声口,其颜值对用户来说关注度比较低。而且不同的麦克风硬件在性能上差距不大,其应用场景也只是在录制视频时的音频采集,或单独的音频采集,故使用流程和相关操作都比较简单易懂。只是在目标版本为An
白少木丿
·
2021-12-07 20:00
GO笔记之环境安装
Go语言被设计成一门应用于搭载Web服务器,存储集群或类似用途的巨型中央服务器的
系统编程
语言。对于高性能分布式系统领域而言,Go语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持
·
2021-12-07 11:33
java后端
Linux
系统编程
之命名管道与共享内存
在上一篇博客中,我们已经熟悉并使用了匿名管道,这篇博客我们将讲述进程间通信另外两种常见方式——命名管道与共享内存。1.命名管道管道是使用文件的方式,进行进程之间的通信。因此对于管道的操作,实际上还是用诸如write,read等接口实现。匿名管道应用的一个限制就是只能在具有亲缘关系(如父进程与子进程、兄弟进程)之间进行通信。如果想在不相关的进程间进行数据交换,可以使用FIFO文件来做这种工作。这里的
乌有先生ii
·
2021-12-02 22:00
Linux
系统编程
之匿名管道
1.进程间通信介绍1.1进程通信的基本概念在之前我们已经学习过进程地址空间。Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterP
乌有先生ii
·
2021-12-01 18:00
Android
系统编程
入门系列之硬件交互——多媒体摄像头
多媒体系列硬件多媒体包括图片、动画、音频、视频,这些多媒体素材的采集(输入)主要依靠摄像头和麦克风等硬件设备转化为基础数据,而他们的播放渲染(输出),则需要依靠具有相关功能的编解码软件。当然随着硬件集成度越来越高,也有些基础功能内置到硬件中解码,以此减少软件解码过程中的CPU耗时操作,这种方式称为硬件加速。由于多媒体的播放渲染(输出)是由系统主动向用户发出的,通常不需要向用户申请权限。系统将数据直
白少木丿
·
2021-11-26 23:00
多线程服务器编程[4]-C++多线程
系统编程
精要
线程原语的选用不直接使用Pthreads,而是使用更为易用的wrapper,封装下面的调用线程的创建和等待结束mutex的创建、销毁、加锁、解锁条件变量的创建、销毁、等待、通知、广播在这些wrapper之上进一步构建线程同步组件ThreadPoolCountDownLatchBlockingQueue(有界/无界)...多线程编程需要注意的地方C++标准库容器和std::string都不是线程安全
·
2021-11-24 21:08
c++多线程linux
Android
系统编程
入门系列之硬件交互——传感器
到目前为止,关于应用程序与用户之间的相关内容便比较肤浅的大致介绍完毕。而在整个系统架构中,应用程序与用户之间的交互,犹如参天大树上的枝干和树叶,交互起来五彩缤纷,但使整个生态系统保持生命力的核心,在于树根,也就是应用程序通过Android系统与设备上硬件的交互。设备硬件设备的硬件目前主要分为三大类,包括传感器系列硬件(重力传感器、加速度传感器、陀螺仪、位置传感器、光亮传感器等),互联通信系列硬件(
白少木丿
·
2021-11-19 23:00
Go语言基础入门应用简介及常用命令
目录Go语言简介Go语言的主要特点【重点】Go语言应用Go语言中常用命令Go语言中可见性规则【重点】Go语言简介Go是一门开源、支持并发、垃圾回收的编译型
系统编程
语言从2007年末由RobertGriesemer
·
2021-11-17 17:27
【Linux网络编程学习】socket API(socket、bind、listen、accept、connect)及简单应用
此为牛客LinuxC++课程和黑马Linux
系统编程
笔记。1.什么是socket所谓socket(套接字),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。
F+T
·
2021-11-10 17:45
Linux
C++学习笔记
#
Linux网络编程篇
网络
linux
socket
【Linux网络编程学习】预备知识(网络字节序、IP地址转换函数、sockaddr数据结构)
此为牛客LinuxC++课程和黑马Linux
系统编程
笔记。1.网络字节序我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分。磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。
F+T
·
2021-11-09 23:46
Linux
C++学习笔记
#
Linux网络编程篇
linux
tcp/ip
Linux
系统编程
之文件IO
前言在学习C语言时,我们接触过如fopen、fclose、fseek、fgets、fputs、fread、fwrite等函数,实际上,这些函数是对于底层系统调用的封装。C默认会打开三个输入输出流,分别是stdin,stdout,stderr。执行manstdin后,会展示如下描述:#includeexternFILE*stdin;externFILE*stdout;externFILE*stder
乌有先生ii
·
2021-11-08 08:00
高性能处理器架构与编程实验(基础实验2:openEuler系统环境实验)
2.2
系统编程
环境实验2.2.1查看系统信息步骤1:查看总体架构[root@openeul
桃子味可可
·
2021-11-07 01:36
高性能处理器架构与编程
架构
开发语言
【Linux
系统编程
学习】Linux线程控制原语
此为牛客LinuxC++课程笔记。0.关于线程注意:LWP号和线程id不同,LWP号是CPU分配时间片的依据,线程id是用于在进程内部区分线程的。1.线程与进程的区别对于进程来说,相同的地址(同一个虚拟地址)在不同的进程中,反复使用而不冲突。原因是他们虽虚拟址一样,但,页目录、页表、物理页面各不相同。相同的虚拟址,映射到不同的物理页面内存单元,最终访问不同的物理页面。但!线程不同!两个线程具有各自
F+T
·
2021-11-06 21:22
Linux
C++学习笔记
#
Linux系统编程篇
linux
Linux
系统编程
之进程控制(进程创建、终止、等待及替换)
进程创建在上一节讲解进程概念时,我们提到fork函数是从已经存在的进程中创建一个新进程。那么,系统是如何创建一个新进程的呢?这就需要我们更深入的剖析fork函数。1.1fork函数的返回值调用fork创建进程时,原进程为父进程,新进程为子进程。运行manfork后,我们可以看到如下信息:#includepid_tfork(void);fork函数有两个返回值,子进程中返回0,父进程返回子进程pid
乌有先生ii
·
2021-11-06 09:00
【linux环境高级编程】第7篇:linux系统进程详解,看这一篇就够了
from=search&seid=6289925691599795128linux
系统编程
:https://www.cnblo
黑猫奥利奥
·
2021-11-01 21:23
黑猫带你学:嵌入式C语言
linux
运维
服务器
多进程
嵌入式
【Linux
系统编程
学习】父进程捕获SIGCHLD信号以处理僵尸进程
配合之前说过的sigaction函数和waitpid函数,我们可以解决子进程变成僵尸进程的问题。先看如下示例程序:#include#include#include#include#include#includeintmain(){pid_tpid;inti;//循环创建20个子进程for(i=0;i0){while(1){printf("parentpid:%d\n",getpid());slee
F+T
·
2021-11-01 11:48
Linux
C++学习笔记
#
Linux系统编程篇
linux
【Linux
系统编程
学习】信号、信号集以其相关函数
此为牛客LinuxC++和黑马Linux
系统编程
课程笔记。
F+T
·
2021-11-01 11:55
Linux
C++学习笔记
#
Linux系统编程篇
linux
华为顶级网络工程师分享出这份TCP/IP网络编程笔记!已封神
本书涵盖操作系统、
系统编程
、TCP/IP协议等多种内容,结构清晰、讲解细致、通俗易懂。此书面向利用套接字进行网络编程的初学者,具备C语言基础知识的读者会获得更多帮助。
被基金支配的打工人
·
2021-09-14 13:16
华为
tcp/ip
udp
Linux
系统编程
-(四)信号
一.信号概述1.1中断中断就是字面的意思,譬如正在打游戏,手机响了,这时后中断游戏,去接手机,回来再打游戏,这就是中断。1.2什么是信号信号是软件中断,是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号是Linux进程间通信的最古老的方式,也是最常用的通信方式。1.3信号机制进程A给进程B发送信号,进程B收到信号之前执行自己的代码,收到信号后,不管执行到程序的什么位置,都要暂停运行,去
·
2021-09-04 09:49
linux编程
C语言在嵌入式
系统编程
时的注意事项
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。20世纪80年代,为了避免各开发厂商用的C
·
2021-08-28 15:39
c
区块链开发工程师要干什么?
一是Go编程开发工程师,多从业于软件开发公司,从事以下领域的编程:服务器编程、分布式
系统编程
、网络编程、数据库操作、开发云平台等。
·
2021-08-26 01:44
golang
Linux
系统编程
--(三)进程间通信
一.进程间通讯1.1什么是进程间通信我们运行起来的进程,相互之间资源是独立的,不能在一个进程中直接访问另一个进程的资源。但是很多时候不同的进程需要进行信息的交互和状态的传递等,譬如数据传输,一个进程需要将它的数据发送给另一个进程,或者多个进程间资源共享,或者一个进程需要控制另一个进程的执行,再或者,一个进程要给另一个进程发送消息等,就需要进程间通信(IPC:InterProcessesCommun
·
2021-08-22 23:19
linux编程
Linux
系统编程
-进程控制
一.进程1.1.程序和进程的关系简单来说,程序是静止的,就是我们的可执行文件,进程是动态的,就是运行起来的程序。1.2.并行和并发1)并行,parallel强调同一时刻同时执行2)并发,concurrency则指的一个时间段内去一起执行1.3.进程的状态在五态模型中,进程分为新建态、终止态,运行态,就绪态,阻塞态,如下图1.4.进程各个状态的切换时机①TASK_RUNNING(运行态):进程正在被
·
2021-08-15 20:23
linux编程
系统编程
:标准IO和文件IO
一、概述标准IO:标准I/O是ANSIC建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,不依赖系统内核,所以移植性强。又称为高级磁盘I/O,遵循ANSIC相关标准。只要开发环境中有标准I/O库,标准I/O就可以使用。(Linux中使用的是glibc,它是标准C库的超集。不仅包含ANSIC中定义的函数,还包括POSIX标准中定义的函数。因此,Linux下既可以使用标准I/O
梁帆
·
2021-08-11 10:16
Linux
系统编程
--文件IO和文件目录操作
一.系统调用1.1系统调用概述系统调用,操作系统提供给用户程序调用的一组API接口,是应用程序同系统之间数据交互的桥梁。Linux的运行空间分为内核空间与用户空间,它们各自运行在不同的级别中,逻辑上相互隔离。用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间函数。但存在很多情况,用户进程需要获得系统服务,那就要利用系统调用了。1.2用户态和内核
·
2021-07-31 23:35
linux编程
上一页
20
21
22
23
24
25
26
27
下一页
按字母分类:
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
其他