程序员常说的API是什么意思?API类型有什么呢?

程序员常说的API是什么意思?API类型有什么呢?

API是什么意思呢?在定义上,API(Application Programming Interface),中文翻译是应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

有些公司会把程序封装起来,若将数据库应用程序里面的部分功能拿出来封装到一个函数里,你只需要调用函数,就可以实现部分功能——而封装的这个函数,就叫做API,你使用的时候只需要调用给你的接口(API)就可以了,比如输入输出,功能函数,Java里面的math类,system类,object类,Arrays类,Date类,Simple Date Format类里面封装的各种函数。


 
API的类型


远程过程调用(RPC):


远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC它假定某些协议的存在,例如TPC/UDP等,为通信程序之间携带信息数据。在OSI网络七层模型中,RPC跨越了传输层和应用层,RPC使得开发,包括网络分布式多程序在内的应用程序更加容易。通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。


标准查询语言(SQL):


一种操作数据库的语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。SQL 虽然是一种被 ANSI 标准化的语言,但是它有很多不同的实现版本。它是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。


文件传输:


文件传输通过发送格式化文件实现应用程序间数据共享。


信息交付:


指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。


当前应用于API的标准包括ANSI标准SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API可以应用于所有计算机平台和操作系统。这些API以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。


相反由于这种API只处理一种信息格式,所以该情形下的信息交付API只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API类型是比较理想的选择。即API数据接口是一种中间件,可以为不同平台提供数据共享。例如下秒数据支持连接关系数据库、大数据存储、SaaS、API、IoT等数据,并且做每日更新,打通了企业ERP系统和销售系统,让企业摆脱Excel表和IT报表,实现不同平台数据的实时监控,减少汇报,企业可以对数据进行快速反应。


API与图形用户接口(GUI)或命令接口有着鲜明的差别:API接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。有时公司会将API作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。

 

线程的API是指操作系统或编程语言提供的用于创建、管理线程的一系列函数或方法。这些API允许程序员控制线程的生命周期,包括创建线程、结束线程、暂停线程、恢复线程等操作。 API的参数通是指向特定数据的指针或数据本身,用于指定函数的操作细节。参数的类型可以是基本数据类型,也可以是指向结构体或类的指针。参数的具体含义取决于API的设计和它所执行的操作。 如果参数是结构体,那么这个结构体通会包含一组用于描述线程属性的成员变量。这些结构体的具体内容会根据不同的操作系统和编程语言有所不同。例如,在Windows编程中,可以使用`SECURITY_ATTRIBUTES`结构体来指定新线程的属性,而在线程创建函数如`CreateThread`中,这个结构体可能作为参数之一,用于设置线程的安全属性。 一个典型的线程创建API的例子是POSIX线程(pthread)库中的`pthread_create`函数。其原型如下: ```c int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); ``` 参数解释: - `pthread_t *thread`:指向线程标识符的指针,用于引用新创建的线程。 - `const pthread_attr_t *attr`:指向线程属性结构体的指针,该结构体定义了新线程的各种属性,如栈大小、调度策略等。如果没有特别需求,可以传递NULL来使用默认属性。 - `void *(*start_routine) (void *)`:指向线程开始执行函数的指针。线程创建后,会调用这个函数开始执行。 - `void *arg`:传递给`start_routine`函数的参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值