浏览器运行原理简介 1.什么是浏览器浏览器通俗的讲: 就是平时我们观看一些网页,或者查询一些东西所用的软件就是浏览器。而官方的解释为: 浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,并让用户与这些文件交互的一种软件。2.浏览器的主要功能通俗理解为:浏览网页,查询事物,几乎所有你想了解的都能在浏览器中找到。官方...
Linux高级编程基础——线程之多线程实现生产者消费者 用多线程实现生产者消费者:内容比较搞笑生动,更容易理解,有什么不懂得可以在下面留言#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h>#include <sys/types.h> int count = 1; pthr...
Linux高级编程基础——线程之双线程进行通信 线程之双线程进行通信/*编程实现以下功能:主线程实现以下功能:定义全局变量key;创建两个线程;如果线程正常结束,得到线程的结束状态值,并打印;线程一完成以下操作:设置全局变量key的值为字符串“hello world”;打印3次字符串“当前线程ID:key值”;接收到线程二发送的取消请求信号后退出;结束的时候打印字符串“thread1 ,exited!:key值”;线程二...
Linux高级编程基础——线程之双线程进行通信 线程之双线程进行通信/*编程实现以下功能:主线程实现以下功能:定义全局变量key;创建两个线程;如果线程正常结束,得到线程的结束状态值,并打印;线程一完成以下操作:设置全局变量key的值为字符串“hello world”;打印3次字符串“当前线程ID:key值”;接收到线程二发送的取消请求信号后退出;结束的时候打印字符串“thread1 ,exited!:key值”;线程二...
Linux高级编程基础——进程间通信之共享内存 进程间通信之共享内存创建共享内存,写进程每隔2秒向内存写入一次“hello world”;如果结束写操作,则写进程写入“end”;读进程从共享内存读取数据,并打印。直到读到“end”为止。 这是写进程#include <stdio.h>#include <stdlib.h>#include <sys/ty...
Linux高级编程基础——进程间通信之用一个消息队列实现多个进程的通信 进程间通信之用一个消息队列实现多个进程的通信进程a向进程B发送hello world,进程B接收打印,进程c向进程d发送自己的学号班级姓名,进程d接收打印,用同一个消息队列实现 这是a进程#include <stdio.h>#include <stdlib.h>#include <sys/types.h...
Linux高级编程基础——进程间通信之通过信号发送额外的字符串 进程间通信之通过信号发送额外的字符串进程A向进程B发送信号,该信号的附带信息为一个字符串“Hello world”;进程B完成接收信号的功能,并且打印出信号名称以及随着信号一起发送过来的字符串值。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <signal....
Linux高级编程基础——进程间通信之信号值操作 进程间通信之信号值操作进程A向进程B发送信号,该信号的附带信息为一个值为20的整数;进程B完成接收信号的功能,并且打印出信号名称以及随着信号一起发送过来的整形变量值。/这个实验分成两个小部分。要把这两个小程序分开执行,在执行这两个程序之前先在终端上进入root用户,打开两个终端,分别执行这两个程序/ //这个是信号的发送程序#in...
Linux高级编程基础——进程间通信之信号——打印发送信号进程的pid,uid以及信号值 打印发送信号进程的pid,uid以及信号值进程A向进程B发送信号;进程B收到进程A发送的信号后,打印出发送信号进程的pid,uid以及信号值。/这个实验分成两个小部分。要把这两个小程序分开执行,在执行这两个程序之前先在终端上进入root用户,打开两个终端,分别执行这两个程序/ //这个是信号的发送程序#include <st...
Linux高级编程基础——进程间通信之用sigqueue函数和sigaction函数实现信号的安装与发送 进程间通信之用sigqueue函数和sigaction函数实现信号的安装与发送进程A向进程B发送SIGUSR1信号;进程B收到信号后,打印字符串“receive SIGUSR1”;要求用sigqueue函数和sigaction函数实现以上功能;/这个实验分成两个小部分。要把这两个小程序分开执行,在执行这两个程序之前先在终端上进入root用户,打开两个终端,分别执行这两个程序/ ...
Linux高级编程基础——进程间通信之信号的安装与发送 进程间通信之信号的安装与发送调用setitimer函数分别触发SIGALRM信号,SIGVTALRM信号,SIGPROF信号 ;(可以由多进程分别触发每个信号)编写信号安装函数,在该函数内部能判断接受到的是什么信号,并把信号打印出来。#include <stdio.h>#include <signal.h>#include <sys/time.h>...
Linux高级编程基础——进程间通信之信号 进程间通信之信号进程A向进程B发送SIGUSR1信号;进程B收到信号后,打印字符串“receive SIGUSR1”;要求用kill函数和signal函数实现以上功能; /*这个实验分成两个小部分。要把这两个小程序分开执行,在执行这两个程序之前先在终端上进入root用户,打开两个终端,分别执行这两个程序*///这个是信号的发送程序#include <stdio...
Linux高级编程基础——进程间通信之有名管道 进程间通信之有名管道/*利用有名管道文件实现进程间通信,要求写进程向有名管道文件写入10次“hello world”;读进程读取有名管道文件中的内容,并依次打印。*//* 这个实验有三个小部分,要分开写,分别是管道的创建 ,写入,读取,*///这个是创建#include<sys/types.h>#include<sys/stat.h>#include...
Linux高级编程基础——进程间通信之匿名管道—创建兄弟进程 进程间通信之匿名管道—创建兄弟进程利用匿名管道实现兄弟进程间通信,要求兄进程发送字符串“This is elder brother ,pid is (兄进程进程号)”给弟进程;弟进程收到兄进程发送的数据后,给兄进程回复“This is younger brother , pid is(弟进程进程号)”; */#include <stdio.h>#include &...
Linux高级编程基础——进程间通信之匿名管道 进程间通信之匿名管道利用匿名管道实现父子进程间通信,要求父进程发送字符串“hello child”给子进程;子进程收到父进程发送的数据后,给父进程回复“hello farther”;父子进程通信完毕,父进程依次打印子进程的退出状态以及子进程的pid。#include <stdio.h>#include <stdlib.h>#include <unis...
Linux高级编程基础——进程之多个子进程 进程之多个子进程创建子进程一,在子进程中递归打印/home目录中的内容(可以用exec系列函数调用第一次实验中的代码完成此功能);子进程退出的时候调用cpexit()函数,在cpexit()函数中完成以下功能:打印字符串“Child process exited!”打印子进程标识符,打印父进程标识符。创建子进程二, 打印子进程运行环境中环境变量“USER”的值,通过exec系列中的某个函...
Linux高级编程基础——进程之 fork 与 vfork 使用 进程之 fork 与 vfork 使用编写程序实现以下功能:在父进程中定义变量n,在子进程中对变量n进行++操作;并且打印变量n的值,打印子进程pid;在父进程中打印变量n的值,并且打印父进程pid。要求分别用fork和vfork创建子进程。#include <sys/types.h>#include <sys/wait.h> #include <u...
Linux高级编程基础——进程之父子进程 进程之父子进程/创建子进程 在子进程中打开文件file1,写入自己的“班级_姓名_学号”, 父进程读取file1中的内容,并且打印显示。 在父进程中获取已经结束的子进程的状态信息,打印该信息,并且打印结束的子进程的进程号。/#include <sys/types.h>#include <sys/wait.h> #include <unistd.h> ...
Linux高级编程基础——进程之fork使用 fork使用方法多次调用 fork 来看看打印几个hello world#include<stdio.h>#include<unistd.h>#include <stdlib.h>int main(){ pid_t pid[3]; pid[0] = fork(); //创建一个子进程,现在有两个进程 pid[1] = ...
Linux高级编程基础——进程之文件的环境变量 进程之文件的环境变量// 题目: 1.输出文件的环境变量的值 2.将环境变量的值设为张三 3.将环境变量的值改为李四#include <stdio.h>#include <stdlib.h>int main(){ char *p; if((p=getenv("USER"))) //得到环境变量USER 的值 printf("USER=%s",p); ...