实验一Linux系统的安装及用户界面的使用一.实验目的1.了解Linux系统的安装、熟悉系统的启动过程和使用环境。
2.掌握Linux环境下vi编辑器的使用方法。
3.掌握Linux系统中编辑、编译、调试、运行一个C语言程序的全过程。
二.实验内容1、实验要求1.在VMWare虚拟机环境或真实物理机器上,安装一个Linux操作系统。
2.体验Linux操作系统中XWindows系统的使用。
3.尝试Linux系统键盘命令的使用,并熟练掌握常用的基本命令。
4.掌握命令行方式下vi编辑器的使用。
5.编写一段C程序,使用系统调用fork()创建两个子进程。
各进程显示不同的信息,如父进程显示字符“a”,子进程分别显示字符“b”和“c”。
多次运行观察显示结果,并分析产生这种执行效果的原因。
实验二Linux进程控制一.实验目的1.掌握进程的概念,明确进程和程序的区别。
2.认识和了解并发执行的实质。
二.实验内容1、实验要求1.编写一段程序,使用系统调用fork()创建两个子进程。
各进程显示不同的信息,如父进程显示字符“a”,子进程分别显示字符“b”和“c”。
多次运行观察显示结果,并分析产生这种执行效果的原因。
2.修改上面编写的程序,将每个进程的输出由单个字符改为循环输出一句话,如父进程显示:“parent:”加上进程ID,子进程分别显示:“Child1:”(或“Child2:”)加上自己的进程ID。
再观察程序执行时屏幕上出现的现象,并分析原因。
3.一个父进程创建一个子进程,子进程通过exec系统调用执行另一个文件。
各自的代码中显示不同的信息,观察其运行结果,分析两个进程并发执行的效果。
4.编写程序创建如图所示的进程树,在每个进程中显示当前进程ID和父进程ID。
实验三Linux进程间通信一.实验目的(1)分析进程争用临界资源的现象,学习处理进程互斥的方法;
(2)学习如何利用进程的“软中断”、管道机制进行进程间的通信,并加深对上述通信机制的理解;
(3)了解系统调用pipe()、msgget()、msgsnd()、msgrcv()、msgctl()、shmget()、shmat()、shmdt()、shmctl()的功能和实现过程,利用共享存储区机制进行进程间通信。
二、实验内容1、实验要求(1)进程的控制修改已编制的程序,将每个进程输出一个字符修改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析出现问题的原因,进一步理解各个进程争夺临界资源的情况。
如果在程序中使用系统调用locking()来给每一个进程加锁,可以实现进程之间的互斥,试观察并分析出现的现象。
(2)进程的软中断通讯编制一段程序,实现进程的软中断通讯:使用系统调用fork()创建两个子进程;
再使用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Del键);
在捕捉到中断信号后,父进程用系统调用kill()向两个子进程发信号;
子进程捕捉到信号后分别输出下列信息后终止:Childprocess1iskilledbyparent!Childprocess2iskilledbyparent!父进程等待两个子进程都终止以后,输出如下信息后终止:Parentprocessinkilled!(3)进程的管道通讯编制一段程序,实现进程的管道通讯:使用系统调用pipe()建立一条管道线;
两个子进程分别循环向这条管道写一句话:Child1issendingamessage!Child2issendingamessage!而父进程则循环从管道中读出信息,显示在屏幕上。
实验报告内含源代码
2019/6/17 5:27:26 267KB ubuntu
1
史上最简单的OPCServerSDK开发包,最少只需调用4个函数即可完成一个OPCServer的开发。
不需要晓得OPC规范、也不需要晓得任何COM/DCOM、ATL、MFC的知识,不需要理解wchar_t、BSTR等宽字符,甚至不需要理解注册表操作和命令行参数。
只需要会C++和会使用标准DLL即可。
OpcSvrSdk开发包SDK是基于win32平台,满足OPCServerDA1.0/2.0/3.0规范的快速OPCServer开发工具包。
标签数没有限制,也没有限制并发客户连接数,更没有限制每个连接客户可建立的数据组数。
内部标签组织采用HASHMAP组织,极速的检索速度。
opcsvrsdk开发包包含如下内容:demo/例程,利用本开发包和C++开发OPCServer的例程bin/编译好的opcsvrtst.exe例子OPCServeropcsvrtst/opcsvrtst例子OPCServer的VC9源码工程opcclinet/OPC客户端测试工具,供参考sdk/opcdasvr.dll和opcdasvr.h以及方便开发的辅助C++源码wopc3tst/opcda3.0的IOPCItemIO接口的简易测试代码。
OPCCoreComponentsRedistributable(x86)105.1.zipOPC基金会的发布安装包。
OPCServerDA开发包opcdasvr使用说明.doc
2021/6/26 22:27:06 3.58MB OPC Server SDK
1
网易杭研院何登成学习CPU架构以及并发程序设计的一些心得与收获。
主要内容包括:–简单引见CPU的架构,部分主要模块及其功能(CacheStructure,CacheLine,Set-Way);
–CacheCoherence算法(MESI,MOESI);
–CPUMemoryOrdering模型(Atomic,Reorder,MemoryBarrier(Compiler,CPU),LockInstruction,LoadAcquire/StoreRelease);
–并发程序设计(实现一个Spinlock,纠正一个Lock-FreeAlgorithm,DataRace(False-Sharing,Per-ProcessorData))
2019/1/15 2:16:09 2.12MB 无锁 并发 多线程 内存顺序
1
语言高级编程订阅最新动态可以关注:知乎或微博方式:观看,每篇文章都能收到邮件通知,或通过。
目录序言第一章功能分析第二章常用数据结构第三章并发编程第四章编译优化附录Go语言陷阱基础入门进阶系列
2015/8/2 4:18:06 1.25MB go golang high-performance effective-golang
1
有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括:“广”。
加之其简单易学,SQL实现也可一字概括:“乐”。
然而,SQL虽然实现简单可乐,却极易引发功能问题,那时广大SQL使用人员可要“愁”就一个字,心碎无数次了。
缘何有功能问题?原因也一字概括:“量”。
当系统数据量、并发访问量上去后,不良SQL就会拖跨整个系统,我们甚至找不出哪些SQL影响了系统。
即便找到也不知如何动手优化。
此时的心情也可以一字概括:“懵”。
现在本书开始带你抛除烦恼,走进优化的可乐世界!首先教你SQL整体优化、快速优化实施、如何读懂执行计划、如何左右执行计划这四大必杀招。
整这些干嘛呢?答案是,传授一个先整体后局部的宏观解决思路,走进“道”的世界。
接下来带领大家飞翔在“术”的天空。
教你体系结构、逻辑结构、表设计、索引设计、表连接这五大要领。
这么多套路,这又是要干嘛?别急,这是教你如何解决问题,准确地说,是如何不改写即完成SQL优化。
随后本书指引大家学会等价改写、过程包优化、高级SQL、分析函数、需求优化这些相关的五大神功。
有点头晕,能否少一点套路?淡定,这还是“术”的范畴,依然是教你如何解决问题,只不过这次是如何改写SQL完成优化。
最后一个章节没套路了,其中跟随你多年的错误认识是否让你怀疑人生,其中让SQL跑得更慢的观点,是否让你三观尽毁?再多一点真诚吧,本书提供扫二维码辅助学习,是不是心被笔者给暖到了。
看右边,扫我!读完全书,来,合上书本,闭上眼睛,深呼吸,用心来感受SQL优化的世界。
一个字:“爽”!
2015/3/13 1:23:57 181.78MB SQL优化
1
设备接入:MQTT、CoAP、HTTP规则引擎:配置设备消息的处理流程核心服务:设备认证、规则和插件、租户和客户、小组件和仪表盘、告警和事件服务端API网关:RESTAPI、websocketsActor模型:次要用于并发集群模式:Zookeeper用于服务发现,一致性哈希保证消息的扩展性和可用性。
安全:SSL用于HTTP和MQTT设备认证:Token和X.509第三方工具:AKKA【Actor】、Zookeeper、gRPC、Cassandra
2021/4/9 12:41:35 1.27MB MQTT CoAP 物联网 HTTP
1
Tomcat服务器是一个免费的开放源代码的Web使用服务器,属于轻量级使用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
2015/6/6 7:46:17 9.05MB Tomcat Service Linux
1
如何实现一个爬虫系统或则简单的小脚本?一般是定义一个入口页面,然后一个页面会有其他页面的URL,于是从当前页面获取到这些URL加入到爬虫的抓取队列中,然后进入到新页面后再递归的进行上述的操作,其实说来就跟深度遍历或广度遍历一样。
golang由于其编译速度很快,而且对并发(goroutine)的天然支持,配合chan的协程处理,可以很好地实现一个稳定高效的爬虫系统.
2022/10/15 17:13:14 4KB go golang go语言 爬虫
1
自己总结的,有需要的朋友可以自创自创,大家互相学习,相互进步,感觉有问题的地方,欢迎大家留言~~~
2018/11/6 3:26:23 24KB java javadoc
1
C#的Task异步执行任务绝对于Thread多线程可以更好的利用CPU资源,更高的工作效率。
适用于不排序的高并发作业。
2017/2/20 21:54:52 50KB c# task 异步 多线程
1
共 367 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡