网络编程 线程 通讯 网络
一位大咖写给软件编程新手的建议 - 经验谈
今天逛微信公众号的时候看到一个文,关于给软件新手建议的事情。看了之后有一点想法,然后就思考了下,觉得有必要记录一下自己的建议,所以就有了此博文。 这里提一下,笔者自己非计算机专业,但是在学校的时候就对编程感兴趣,毕业后也从事编程工作,累积了一定的经验。按笔者的理解,不管你是否科班出身,需要从入门到精 ......
window线程同步的四种方法
原文链接:线程同步的四种方式 线程同步的四种方法 1、临界区(Critical Section):通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 优点:保证在某一时刻只有一个线程能访问数据的简便办法 缺点:虽然临界区同步速度很快,但却只能用来同步本进程内的线程,而不可用来同 ......
线程诊断笔记
## CPU占用过高 1、top命令查看占用CPU较高的进程 2、通过进程ID获取当前进程下线程的CPU占用情况 打印进程ID,线程ID,以及占用CPU ``` ps H -eo pid,tid,%cpu ``` ![查询指定进程的线程CPU占用情况](https://img2023.cnblogs ......
面向对象编程的 SOLID 原则 - 里氏替换原则
里氏替换原则 里氏替换原则描述的是子类应该能替换为它的基类。 意思是,给定 class B 是 class A 的子类,在预期传入 class A 的对象的任何方法传入 class B 的对象,方法都不应该有异常。 这是一个预期的行为,因为继承假定子类继承了父类的一切。子类可以扩展行为但不会收窄。 ......
面向对象编程的 SOLID 原则 - 接口隔离原则
接口隔离原则 隔离意味着保持独立,接口隔离原则是关于接口的独立。 该原则描述了很多客户端特定的接口优于一个多用途接口。客户端不应该强制实现他们不需要的函数。 这是一个简单的原则,很好理解和实践,直接看例子。 public interface ParkingLot { void parkCar(); ......
面向对象编程的 SOLID 原则 - 依赖倒置原则
依赖倒置原则 依赖倒置原则描述的是我们的 class 应该依赖接口和抽象类而不是具体的类和函数。 在这篇文章(2000)里,Bob 大叔如下总结该原则: “如果 OCP 声明了 OO 体系结构的目标,那么 DIP 则声明了主要机制”。 这两个原则的确息息相关,我们在讨论开闭原则之前也要用到这一模式。 ......
Python面向对象编程-学习笔记(二)
5.类的继承 class Employee: raise_amount =1.04 def __init__(self, first, last, pay): self.first = first self.last = last self.pay= pay self.email = first + ......
面向对象编程的 SOLID 原则 - 开闭原则
开闭原则 开闭原则要求“class 应该对扩展开放对修改关闭”。 修改意味着修改存在 class 的代码,扩展意味着添加新的功能。 这个原则想要表达的是:我们应该能在不动 class 已经存在代码的前提下添加新的功能。这是因为当我们修改存在的代码时,我们就面临着创建潜在 bug 的风险。因此,如果可 ......
面向对象编程的 SOLID 原则
SOLID 原则是面向对象 class 设计的五条原则。他们是设计 class 结构时应该遵守的准则和最佳实践。 通常,这五个原则可以帮助我们了解设计模式和软件架构。这是每个开发人员都应该了解的主题。 这篇文章介绍了在项目中使用 SOLID 原则的细节。 首先我们先看一下 SOLID 原则的历史。然 ......
什么是编程领域的 DSL - Domain Specific Language
在编程领域中,Domain Specific Language(DSL)是一种特定于特定问题领域的计算机语言,设计用于解决该领域的特定类型的问题。DSL的设计目标通常包括提高生产力,使非程序员可以使用,以及提供特定类型的语言构造。DSL与通用编程语言(GPL)相对,GPL如Python、Java等, ......
进程与线程的对比
在Python中,进程(Process)和线程(Thread)都是用于实现并发执行的机制,但它们有一些重要的区别。 执行方式:进程是程序的一次执行过程,具有独立的内存空间,每个进程都有自己的代码段、数据段和堆栈;而线程是在进程内部执行的,共享进程的内存空间,包括代码段、数据段和堆栈。 资源占用:由于 ......
线程池
在Python中,可以使用concurrent.futures模块提供的线程池来管理和执行多个线程任务。线程池提供了一种方便的方式来处理并发任务,可以有效地利用系统资源,提高程序的性能。 ''' 在Python中,可以使用concurrent.futures模块提供的线程池来管理和执行多个线程任务。 ......
多线程共享资源之竞态条件
什么是竞态条件? 竞态条件是指多个线程在访问和操作共享资源时,由于执行顺序的不确定性而导致结果不确定或出现错误。 示例1: ''' 竞态条件是指多个线程在访问和操作共享资源时,由于执行顺序的不确定性而导致结果不确定或出现错误。 ''' import threading # 共享变量 counter ......
多线程共享全局变量的问题
线程之间共享全局变量 多个线程都是在同一个进程中 , 多个线程使用的资源都是同一个进程中的资源 , 因此多线程间是共享全局变量 问题 示例 1 import threading 2 3 4 # 全局变量 5 g_num = 0 6 7 8 # 对g_num进行加操作 9 def sum_num1() ......
Ubuntu 22.04配置网络
使用的是Ubuntu-22.04 Ubuntu tftp • sudo apt install tftp-hpa tftpd-hpa xinetd • sudo vim /etc/xinetd.d/tftp server tftp { socket_type = dgram protocol = u ......
python线程并行执行与java的线程并行执行的对比
python 多线程并不是真正的并行执行,而java的多线程是真正的并行执行 python 在Python中,由于全局解释器锁(GIL)的存在,多线程并不能实现真正的并行执行。 GIL是一种机制,它限制了同一时刻只能有一个线程执行Python字节码,这意味着在多线程环境下,多个线程并不能同时执行CP ......
Pytorch神经网络构建与训练测试全流程入门
最基本的简单神经网络有三种构建方式: from torch import nn # 第1种构建方法,最灵活 class Network(nn.Module): def __init__(self): super().__init__() # Inputs to hidden layer linear ......
Windows系统无网络(更新后)
已经入职小一个月了,距离上次记录文章过去快一年了,想起去年秋招时候真是努力呀! 目前入职某国企,怎么说呢,理想很丰满,现实很骨感。慢慢熬吧! 7月22日左右吧,具体时间记不清了,windows完成了一次更新。过几天回来发现没网络,处理了好一阵子才弄好,简单记录一下。 更新把设置改了,导致驱动可能出问 ......
守护线程
''' 在Python中,使用threading.Thread类创建守护线程可以通过设置daemon参数为True来实现。 守护线程是一种特殊的线程,它会随着主线程的结束而自动退出(守护线程会随着主线程的结束而自动退出。因此,如果主线程先结束,守护线程也会立即退出,无论守护线程是否执行完成。),无需 ......
Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性|附代码数据
全文下载链接:http://tecdat.cn/?p=26562 最近我们被客户要求撰写关于循环神经网络的研究报告,包括一些图形和统计输出。 自 2000 年 1 月以来的股票价格数据。我们使用的是 Microsoft 股票。 该项目包括: 将时间序列数据转换为分类问题。 使用 TensorFlow ......
线程池学习
具体文章见: Java线程池实现原理及其在美团业务中的实践 线程池好处 降低资源消耗 提高响应速度 提高线程的可管理性 提供更多更强大的功能 线程池解决的问题 频繁申请、销毁资源和调度资源,将地阿莱额外的消耗,可能会非常巨大。 对资源无限申请缺少抑制手段,易引发系统资源耗尽的风险。 系统无法合理管理 ......
实现多线程多任务的步骤
步骤 1. 导入线程模块 import threading 2. 创建子线程并指定执行的任务 sub_thread = threading.Thread(target=任务名 3. 启动线程执行任务 sub_thread.start() 示例 1 ''' 2 在Python中,实现多线程多任务可以通 ......
可编程网络实验室2023暑期纳新——第一次作业
|这个作业属于哪个课程|https://edu.cnblogs.com/campus/fzu/2023summer| |-- |-- | |这个作业要求在哪里|https://edu.cnblogs.com/campus/fzu/2023summer/homework/12993| |这个作业的目标 ......
基于LSTM深度学习网络的时间序列预测matlab仿真
1.算法理论概述 时间序列预测是一类重要的预测问题,在很多领域都有着广泛的应用,如金融、交通、气象等。然而,由于时间序列数据本身具有时序性和相关性,因此预测难度较大。传统的时间序列预测方法大多采用统计学方法,如ARIMA模型、指数平滑法等,但这些方法在处理非线性、非平稳、非高斯的时间序列数据时效果较 ......
介绍自动工作流程编程的几种常见方式
1.辅助继电器置复位法 第一步置位M1标志,接通后控制执行某个结果,结果实现后复位M1,再置位下一步M2标志,依次进行流程控制。置复位法是最基础的流程控制逻辑。还有一种用法。如下图,若“触发”接通,下一步句置位“自锁”,就断开与上一步的联系,等待最后一步,再把“触发”和“自锁”复位。 2.寄存器赋值 ......
为什么学编程都建议不要用拼音命名?
前言 知乎上有个提问:为什么学编程都建议不要用拼音命名? ↓↓↓ 不知道身为程序员的你,曾经有没有用拼音在程序代码中命名变量名、方法名、注释等的经历? 作为国内的程序员,可能有小伙伴会埋怨,编程语言和开发工具都已经全英文了,用拼音命名怎么了又,不好吗。 现如今汉语普及率这么高的今天,全世界都在学中国 ......
网络变压器的工作原理
在有线局域网中,服务器、路由器、集线器、计算机等设备之间都是通过非屏蔽双绞线(Unshielded Twisted Paired,UTP)来连接的,但是由于这些设备可能会被安装在不同大楼,最远距离可达100m,如果此时将处在两地的电子设备直接连接会带来较多问题。 1. **参考地电平不同**:过长的 ......
java——虚拟机、线程
java虚拟机: 是一台想象中的机器,有自己想象的硬件(处理器、堆栈、寄存器等)以及相应的指令系统。 生命周期:当执行java程序时,虚拟机开始运行,程序结束虚拟机停止。同一台计算机每多运行一个程序,就会多运行一个虚拟机。虚拟机开始于main()方法。 java虚拟机的体系结构: 1.java指令集 ......
C编程练习-递归
1.使用递归解决计算第N项斐波那切数列 斐波那契数列:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*) 1,1,2,3,5,8,13,21,34,55,89... 代码: #include<stdio.h> int func_f(int n) { ......