
linux
加油小懒
这个作者很懒,什么都没留下…
展开
-
线程属性
1.线程属性:使用pthread_attr_t类型表示,我们需要对此结构体进行初始化,初始化后使用,使用后还要进行去除初始化!pthread_attr_init:初始化pthread_attr_destory:去除初始化int pthread_attr_init(pthread_attr_t*attr);int pthread_attr_destroy(pthread_attr_原创 2013-11-25 14:24:36 · 764 阅读 · 0 评论 -
linux中段错误产生的原因和调试方…
简单的说,产生段错误就是访问了错误的内存段,一般就是没有权限,或者根本就不存在对应的物理内存,尤其常见的就是访问0地址。一般来说,段错误就是指访问的内存超过了系统所给这个程序的内存空间,通常这个值是由gdbr来保存的,也是一个48位的器存器,其中的32位是保存由它指向的gdt表,后13位包括了程序是否在内存中以及程序在cpu中的运行级别,指向的gdt是由以64位为一个单元的表,在这张表中就保原创 2013-11-25 14:24:19 · 1068 阅读 · 0 评论 -
一步一步学习Git——Git基本操作(转)…
一步一步学习Git(2)——Git基本操作 前面第一部分写了Git的一些概念,接下来这一篇准备从最基础的git操作入手,看看在实际工作中如何使用git来管理我们的项目。 1、Git基本设置 先看看Git的一些相关设置: (1)用户名与Email:由于GIt是分布式版本控制系统,在本地上有一个版本库,我们可以设置自己的用户名与联系方式:代码ken@Linux:~/projec原创 2013-11-25 14:23:25 · 998 阅读 · 0 评论 -
浅谈I/O复用:select、poll、epoll
I/O复用使锝程序能同时监听多个文件描述符,这对提高程序的性能至关重要。通常网络程序在下列情况下需要使用I/O复用技术:客户端程序要同时处理多个socket客户端程序要同时处理用户输入和网络连接TCP服务器要同时处理监听socket和连接socket(这时I/O复用使用最多的场合)服务器要同时处理TCP请求和UDP请求服务器要同时监听多个端口,或者处理多种服务。需要指出的是原创 2014-03-18 20:23:41 · 1083 阅读 · 0 评论 -
服务端处理常用的5种基础策略
一、一个线程服务多个客户端,使用非阻塞I/O和水平触发的就绪通知把网络句柄设置为非阻塞模型,然后使用select()或poll()来告知哪个句柄已有数据在等待处理。此模型是最传统的,在此模型下,由内核告知你某个文件描述符是否准备好,是否已经完成你的任务自从上次内核告知已准备好以来(“水平触发”这个名字来源计算机硬件设计,与其相对的是“边缘触发”,JonathonLemon在它的关于kque转载 2014-03-30 15:30:47 · 1360 阅读 · 0 评论 -
网络编程——互联网协议知识(二)
对于上一篇互联网协议入门(一),主要描述的是从网络分层模型的最下端往上进行分析的,所以互联网入门(二)就是主要站在用户的角度来看待一个简单的网络传输过程。用户上网的配置(1)静态IP当我们拿到一台新的电脑时,往往就会急急忙忙的拿出来赶紧上网,但是这是的电脑是不能上网的。因为在此之前,通常必须做进行网络的配置,这里有四个重要的参数,你要把这些参数进行配置后才可以用计算机连上网:*本机转载 2013-11-25 14:24:45 · 1058 阅读 · 0 评论 -
网络编程——互联网协议知识(一)
现在我们每天都在使用电脑上网,但是对于之前的我,从来都没有想过,这些是如何实现的?所以导致现在的自己仍然想一个网络白痴,所以要来是学习了。。。当我们和远在全国各地的朋友通过网络两两通信,我在西安的一块网卡发出信号,在北京的另一块网卡居然可以收到,但是两个实际根本就不知道对方的物理地址,这真是一件非常神奇的事情。 互联网的核心就是一系列的协议,总称为“互联网协议”。TCP/IP协议是转载 2013-11-25 14:24:43 · 1164 阅读 · 0 评论 -
浅谈线程池
1、为什么要使用线程池? 在传统服务器结构中,有一个总的监听线程监听有没有新的用户连接服务器,当每有一个新的用户进入时,服务器就会开启一个新的线程用于处理这个用户的数据包。这个线程只服务于这个用户,当用户与服务器关闭连接以后,服务器就会销毁这个线程。然而频繁的开辟与销毁线程极大的占用了系统的资源。如果有大量的用户请求的情况下,系统为了开辟和销毁线程就会浪费大量的时间和资源。既然有原创 2013-11-28 14:51:13 · 1044 阅读 · 0 评论 -
mmap()函数
mmap()函数将一个文件或者其它对象映射尽内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以像访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。注:实际上,mmap()系统调用并不是完全为了共享内存而设计原创 2013-11-25 14:25:00 · 3145 阅读 · 0 评论 -
线程(一)
线程包含了表示进程执行环境必须的信息,其中包括进程中标识线程的线程ID、一组寄存器值、栈、调度优先级和策略、信号屏蔽字、erron变量以及线程的私有数据。进程的所有信息对该进程的所有线程都是共享的,包括可执行的程序文本、程序的全局内存和堆内存、栈以及文件描述符。线程接口来自POSIX.1-2001。POSIX线程的特征测试宏是_POSIX_THREADS,应用程序可以把这个宏用#ifdef测原创 2013-11-25 14:24:23 · 751 阅读 · 0 评论 -
线程和fork()
在多线程程序里,在”自身以外的线程存在的状态”下一使用fork的话,就可能引起各种各样的问题.比较典型的例子就是,fork出来的子进程可能会死锁.请不要,在不能把握问题的原委的情况下就在多线程程序里fork子进程.能引起什么问题呢?分为两个方面来进行讲述:(1)在子进程中调用fork函数(此处不涉及锁);在主线程中调用fork()在不涉及锁的情况下,在线程中调用fork一般不会出现原创 2013-11-25 14:24:41 · 1255 阅读 · 0 评论 -
线程(二)
一、线程终止linux下有两种方式可以使线程终止。第一种通过return从线程函数返回,第二种是通过调用函数pthread_exit()使线程退出。#includevoidpthread_exit(void *retavl);有两种特殊情况要注意:一种情况是,在主线程中,如果从main函数返回或者是调用exit函数退出主线程,则整个进程将终止,此时进程中的所有线程也将终止,因此在主线原创 2013-11-25 14:24:25 · 659 阅读 · 0 评论 -
线程的同步
线程最大的特点就是资源的共享性,然而资源共享中的同步问题是多线程编程的难点。linux提供了多种方式处理线程间的同步问题,其中最常见就有互斥锁、条件变量和异步信号。互斥锁(1)互斥锁通过锁机制来实现线程间的同步。在同一时刻通常只允许一个线程执行一个关键部分代码。pthread_mutex_init——初始化一个互斥锁pthread_mutex_destroy——注销一个互斥锁pthrea原创 2013-11-25 14:24:38 · 642 阅读 · 0 评论 -
ssh远程文件传输命令
最近几天让几个大牛吊到了,居然连ssh远程文件传输命令都不知道,居然还敢说自己在学linux,太丢人了!所以今天在一个学姐的博客中刚好看到了,然后就像写到自己的博客中。。。 假设有两台电脑,均为局域网,两机就可以用ssh相互通信了(scp只是一个跨机拷贝),中间无防火墙,并且user和other两个用户的SSH都允许root登录。user的IP:192.168.100.101原创 2013-11-25 14:24:15 · 1488 阅读 · 0 评论 -
linux小命令小知识的总结(1)
1.X windows与命令行界面的转换 通常我们也称命令行模式为终端界面(terminal或console)。linux默认的情况下会提供6个Terminal来人那个用户登录,切换的方式为:[Ctrl]+[Alt]+[F1]~[F6]的组合按钮,退出[Ctrl]+[Alt]+[F7]。 (1)[Ctrl]+[Alt]+[F1]~[F6]:文字界面登录ttry1~ttry6终端 (2原创 2013-11-25 14:23:37 · 712 阅读 · 0 评论 -
进程和线程
因为这几天做一个小东西,其中牵扯到了进程和线程的一些东西,然后也发现自己对于进程和线程的理解不是很到位,于是就写点东西记录下来。一.线程线程:应用程序可以有多个线程,这些线程在休眠状态中需要耗费大量的时间来等待事件的发生。其他线程可能进入休眠状态,并且仅定期被唤醒以轮换更改或更新状态信息,然后再次进入休眠状态。为了简化对线程的管理,.NET框架为每一个进程提供一个线程池,一个线程池有若干个等原创 2013-11-25 14:24:11 · 721 阅读 · 0 评论 -
Libxml2的学习—生成、解析xml文件
由于最近的做的一个小项目中涉及到数据的传输, 因为xml非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。为了保证数据传输的效率和正确性我们选择了使用xml格式来进行文件的传输,所以其中存在xml文件的生成与解析,下来后就看了一些关与libxml2的知识,再次总结一下。(有不足之处,还请多多指教)Libxml2是个C语言的XML程式库,能简单方便的提供对XML文原创 2014-06-01 17:58:34 · 3440 阅读 · 0 评论