当前位置: 首页 > news >正文

jsp网站开发中js的问题做外包网站摘要

jsp网站开发中js的问题,做外包网站摘要,凡科建站可以多人协作编辑吗,怎么做班级网站两个进程间通信可能是任何两个进程间的通信#xff08;IPC#xff09;。同一个进程是在同一块地址空间中的#xff0c;在不同的函数与文件以变量进程传递#xff0c;也可通过形参传递。2个不同进程处于不同的地址空间#xff0c;要互相通信有难度#xff08;内存隔离的原…        两个进程间通信可能是任何两个进程间的通信IPC。同一个进程是在同一块地址空间中的在不同的函数与文件以变量进程传递也可通过形参传递。2个不同进程处于不同的地址空间要互相通信有难度内存隔离的原因本质上也是为了安全。 多数情况下是不会使用进程间通信的大部分都是单进程多线程只有在设计复杂的大型程序时候才会去使用IPC如GUI或服务器。IPC在中小程序上是用不上的。 linux提供四类进程间通信的方法①管道有名管道、无名管道。②system V IPC信号量、消息队列、共享内存。③socket套接字一般用于网络通信。④信号。 进程间通信IPC不常用的问题①日常用的少大程序才用得上。②很复杂是linux应用编程中难度极大的部分。③细节很多。④初学困难。 管道只允许读一次一般情况下所说的管道是无名管道若使用有名管道一般称为FIFO。无名管道通信原理内核维护的一块内存有读/写端。 管道是单向通信的半双工的但是一般被视为单工通信。单工通信从左到右单向运动。半双工同一时间内从左到右下一时刻能从右往左。全双工同时支持双向运动。 为什么一般要把管道通信做成单工通信呢其原因是在双方都有读写的情况下进程A可能会把自己写的读写读走让B进程没地方读信息所以一般情况下管道通信做的都是单工通信本质上就是因为公共区域没区分会发生抢读。所以就可以把这半双工通信作如下的操作 无名管道通信只能在父子之间进行通信父进程先创建pipe的带两个文件fdpipe fd[2]。父进程fork子进程基础fd父进程关闭读或写子进程关闭写读。只能在父子之间通信这些缺点被有名管道进行修复。 有名管道也是内核维护的一块内存表现为一个有名字的文件用两个进程去mkfifo创建fifo文件通过open打开达到fd进行通信不要求目标为父子进程因为这里有真实的文件存在。 system V IPC其有专用的API进程实现。分为三种方法信号量消息队列共享内存。实际上用的也是内核提供的公共内存。 消息队列本质上是一个队列FIFO内核内部维护一个FIFO工作时A可以从队列中放东西B从队列中读东西。 信号量实质是一个计数器一个计数的变量主要用于互斥与同步进程间互斥与资源同步等就一个flag可以做锁。 共享内存内核中用一片内存这块区域可以共同使用。 大片内存共享A摄像头———B视频编码———C视频传输 方法①A得到一个图像信息复制给B一份B去处理。 方法②A和B用同一块内存空间共同处理图像。 实例就是LCD映射LCD显存与代码共享一个内存空间存放图像。 共享内存适合进行大信息处理。 信号通信方式是一种内容收到限制的异步通信机制。用于进程间通信或进程与内核通信通信内容受到限制只是一个信号信号是异步的不在同一个时钟信号具有滞后性同样和中断一样有不可预知性。信号的本质就是一个数字。 信号由谁处理——进程。处理的方式有三种①忽略信号。②驳货信号信号绑定了一个函数。③默认处理忽略或终止进程。不去主动的明确忽略信号捕获信号则会默认处理信号。 常见的信号有 SIGINT 值为2 作用为ctrlc时OS送给前台进程组中每个进程。 SIGPOLL/SIGIO 值为8 提示一个异步IO事件 SIGKILL 值为9 杀死进程的最终方法不可忽略 SIGALARM 值为14 与alarm闹钟相关 SIGCHLD 值为17 子进程停止或终止时OS向父进程发送如wait()等待收尸进程处理信号的方式 sighandler_t signal(int signum, sighandler_t handler);sighandler_t handler就是处理的方法相当于中断里面的处理函数信号与槽里面的槽函数typedef void (*sighandler_t)(int);处理SIGINT信号默认终止进程异常退出 typedef void (*sighandler_t)(int);void func(int sig) {printf(signal:%d\n,sig); }int mian(void) {signal(SIGINT,func);//主动捕获默认终止进程while(1); }signal()返回值①返回正确的处理方法成功②返回errnuberSIG_ERR失败 SIG_ERR是一个函数指针signal返回无论正确与否都返回一个函数指针。SIG_ERR值为强制转换的-1表示errSIG_DFL值为强制转换的0表示默认SIG)IGN值为强制转换的1表示忽略。 signal(SIGINT,SIG_DFL)指定SIGINT为默认处理signal(SIGINT,SIG_IGN)指定SIGINT为忽略处理。但是当使用signal()去绑定处理函数时可能会出现因为版本问题的错误。可以使用 int sigaction(int signum, const struct sigaction *act,struct sigaction *oldact);可以保证signal的其移植性。 struct sigaction {void (*sa_handler)(int);//signal中的方法void (*sa_sigaction)(int, siginfo_t *, void *);sigset_t sa_mask;int sa_flags;void (*sa_restorer)(void);}; 通过传递NULL可以返回旧的处理方法 alarm函数闹钟——到店了应该干什么。 unsigned int alarm(unsigned int seconds); 时间到了返回一个SIGALRM信号若传一个0会取消之前没执行完的闹钟在一个闹钟没完成时会返回剩余时间。 typedef void (*sighandler_t)(int);void func(int sig) {printf(signal:%d\n,sig); }int main() {unsigned int ret-1;signal(SIGALRM,func);retalarm(3);while(1); }struct sigaction act{0};act.sa_handlerfunc;sigaction(SIGALRM,act,NULL);对上面进行替换。 typedef void (*sighandler_t)(int);void func(int sig) {printf(signal:%d\n,sig); }int main() {unsigned int ret-1;struct sigaction act{0};act.sa_handlerfunc;sigaction(SIGALRM,act,NULL);retalarm(3);while(1); }内核只给一个进程提供一个alarm时钟只能定一个闹钟一个没结束再次调用将会返回上一个闹钟还剩余的时间覆盖闹钟重新计时。 pause函数使进程挂起让进程暂停运行交出cpu利用该函数使进程卡住要退出该函数需要信号进行输入进程被唤醒。所以可以使用alarm与pause模拟sleep()。 typedef void (*sighandler_t)(int);void func(int sig) { }void my_sleep(unsigned int seconds) {struct sigaction act{0};act.sa_handlerfunc;sigaction(SIGALRM,act,NULL);alarm(seconds);pause(); }int main() {my_sleep(1);printf(hi\n);my_sleep(4);printf(I am\n);my_sleep(3);printf(jack\n);return 0; }
http://www.w-s-a.com/news/287797/

相关文章:

  • 商城网站前期准备湖南郴州建设局网站
  • 企业如何在自己的网站上做宣传外贸自建站可以自己做网站吗
  • 甘肃网站建设制作商网站空间哪家公司的好
  • 思途旅游网站建设系统用vscode做网站
  • 广州站改造最新消息半年工作总结ppt模板
  • logo模板下载网站推荐哪家网站开发培训好
  • 做外贸网站效果图页面关键词优化
  • 广平网站建设成都活动轨迹
  • 小型网站网站建设需要网络公司是什么行业
  • 滑动 手机网站 代码网页制作与设计讨论
  • 自己做网站处理图片用什么软件wordpress html5支持
  • 校园网站怎么建软文文案范文
  • 中国建设官方网站如何创建自己的软件
  • 来宾住房与城乡建设网站天津西青区怎么样
  • 西安网站建设培训班鄂州网页定制
  • 西部数码网站备份自己怎么做网站啊
  • h5网站开发用什么软件制作公司网站建设代理怎么做
  • 网站建设资料准备网上购物app有哪些
  • 沧州做网站优化哪家公司便宜国内百度云网站建设
  • 网站的最近浏览 怎么做龙岩市人才网最新招聘信息
  • 网站建设需要找工信部吗网站开发账务处理
  • 做那种的视频网站个体工商网站备案
  • 推广网官方推广网站中国建设招聘信息网站
  • 医院网站建设需要多少钱网络营销渠道可分为哪几种
  • 怎么取网页视频网站元素计算机专业论文网站开发
  • 上海网站建设备案号怎么恢复wordpress打开页面空白
  • 30个做设计的网站企业设计网站
  • 招生网站开发的背景创意 wordpress
  • 网站备案资料查询小型企业管理系统软件
  • 温州网站建设维护怎么做好网站开发、设计