E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
环境编程
UNIX
环境编程
学习笔记(28)——多线程编程(三):线程的取消
lienhua342014-11-24 1 取消线程 pthread 提供了pthread_cancel 函数用于请求取消同一进程中的其他线程。 #include <pthread.h> int pthread_cancel(pthread_t tid); 返回值:若成功则返回0,否则返回错误编码 pthread_cancel 调用并不会立即终止目标线程,而只是
·
2015-10-23 08:58
unix
UNIX
环境编程
学习笔记(27)——多线程编程(二):控制线程属性
lienhua342014-11-09 1 线程属性概括 POSIX 线程的主要属性包括 scope 属性、detach 属性、堆栈地址、堆栈大小、优先级。在头文件 pthread.h 中定义了结构体pthread_attr_t 来记录线程的属性。 在创建线程的函数pthread_create 的第二个参数 attr 就是一个pthread_attr_t结构体的指针,通过该参数,我们可以控制新
·
2015-10-23 08:57
unix
UNIX
环境编程
学习笔记(25)——信号处理进阶学习之 sigaction 函数
lienhua342014-11-05 sigaction 函数跟 signal 函数一样,用于设置信号处理函数。此函数是用于取代 UNIX 早期版本使用的 signal 函数。UNIX 早期版本的 signal 函数在捕获到一个信号之后,就会自动将该信号的处理动作恢复为默认处理动作。于是,如果我们希望注册的信号处理函数长期生效,则需要在信号处理程序中再次调用 signal 函数注册一次。这样的
·
2015-10-23 08:57
action
UNIX
环境编程
学习笔记(22)——进程管理之system 函数执行命令行字符串
lienhua342014-10-15 ISO C 定义了 system 函数,用于在程序中执行一个命令字符串。其声明如下, #include <stdlib.h> int system(const char *cmdstring); system 函数在其实现中调用了 fork、exec 和 waitpid 函数。system 函数调用 fork 函数创建子进程,
·
2015-10-23 08:57
System
最近打算写一些Linux
环境编程
相关的文章
好几年没有接触Linux环境下编程了,好多东西都有点生疏了。趁着现在有空打算把相关的一些技能重拾一下,顺手写一些相关的文章加深印象。 因为不是写书,也受到许多外部因素限制,可能介绍不会很系统和详细,不过大都是一些基础知识,对于新手入门应该还是有点帮助的(因为我也相当于重学嘛^_^),感兴趣的朋友可以看一下: 相关文章如下(持续更新中): Linux编程简介——VI Linux编程简
·
2015-10-23 08:18
linux
Unix NetWork Programming(unix
环境编程
)——环境搭建(解决unp.h等源码编译问题)
此配置实例亲测成功,共勉,有问题大家留言。 环境:VMware 10 + unbuntu 14.04 为了unix进行网络编程,编程第一个unix程序时遇到的问题,不能包含unp.h文件,这个感觉和apue.h差不多,不过这里需要编译源代码,为了以后方便,现在整理如下: 主要有两点一是生成libunp.a这个库,二是得到unp.h、config.h这两个个头文件。 1,安装编译器,为了齐全
·
2015-10-21 11:01
programming
Linux操作系统-进程和信号(2)
Linux操作系统-进程和信号(2)分类:Linux
环境编程
进程的标识 有一些函数可以返回进程的标识符#include#includepid_tgetpid(void);//返回调用进程的进程IDpid_tgetppid
LazyBone1994
·
2015-09-04 21:22
环境
编程
系统
linux操作
Linux环境编程
记录真实想法,在路上不断前行——关于工作,学习,职场
编程语言很多,但都无所谓只是个实现想法的工具而已,比较熟悉的语言:CC++用到一点的语言:java懂一点Linux操作和Linux
环境编程
1.C++主要用于以下几个领域游戏行业不管是手游还是网游coco2dx
haolipengzhanshen
·
2015-08-30 11:00
服务器
困境
C++语言
编写自己的Shell解释器
同时,还将就用到的一些 linux
环境编程
的知识做一定讲解。本文适合的读者对
u013427969
·
2015-07-16 10:00
bash
UNIX/Linux
环境编程
必须需要注意的问题总结
在UNIX/Linux下编程必须需要注意一下几点问题(特别是在运行于Windows上的IDE或编程工具进行开发):1.大小写问题。在文件或目录的命名规则中,特别注意驼峰命名法的大小写区分问题。有些语言的内部变量或者引用方面同样也是。2.权限问题。不要任意操作文件系统,换句话说,不要动与自己无关的任何文件(UNIX/Linux下一切都是文件),特别是新部署或者应用中要生成新文件时将权限先查看清楚3.
urey_pp
·
2015-07-14 18:44
dos2unix
文件格式
开发总结
UNIX环境编程
Linux环境编程
UNIX/Linux
环境编程
必须需要注意的问题总结
在UNIX/Linux下编程必须需要注意一下几点问题(特别是在运行于Windows上的IDE或编程工具进行开发):1.大小写问题。在文件或目录的命名规则中,特别注意驼峰命名法的大小写区分问题。有些语言的内部变量或者引用方面同样也是。2.权限问题。不要任意操作文件系统,换句话说,不要动与自己无关的任何文件(UNIX/Linux下一切都是文件),特别是新部署或者应用中要生成新文件时将权限先查看清楚3.
urey_pp
·
2015-07-14 18:44
文件格式
dos2unix
UNIX环境编程
故障与错误分析
UNIX/Linux
环境编程
必须需要注意的问题总结
在UNIX/Linux下编程必须需要注意一下几点问题(特别是在运行于Windows上的IDE或编程工具进行开发):1.大小写问题。在文件或目录的命名规则中,特别注意驼峰命名法的大小写区分问题。有些语言的内部变量或者引用方面同样也是。2.权限问题。不要任意操作文件系统,换句话说,不要动与自己无关的任何文件(UNIX/Linux下一切都是文件),特别是新部署或者应用中要生成新文件时将权限先查看清楚3.
urey_pp
·
2015-07-14 18:44
dos2unix
文件格式
开发总结
Linux环境编程
UNIX环境编程
UNIX高级
环境编程
: 终端登录过程-远程登录-进程组-Session-Linux启动过程-dup与重定向-守护进程
1 终端登录(TerminalLogins)BSDTerminalLogins BSD终端的登录程序在过去35年都没有改变。系统管理员(thesystemadminstrator)创建一个文件/etc/ttys,每一个登录终端都在该文件占一行,改行包含登录终端名,其他的参数则会传递给getty函数。其中一个参数是终端的传输波特率(baudrate)。当系统引导完成,内核创建init进程,进程ID为
a_liujin
·
2015-06-06 10:20
effective
系统管理员
波特率
unix
环境编程
第三章笔记
3.2文件描述符文件描述符是一个非负整数,当打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符,对于内核而言,所有打开的文件都是通过文件描述符引用。3.3函数open和openat原型:intopen(constchar*path,intoflag,......); intopenat(intfd,constchar*path,intoflag,......);//两函数的返回值若
u014046192
·
2015-05-22 16:00
open
文件描述符
文件读写
linux ubuntu/centos相关收藏
linux自动启动监控自动监控重启tomcat脚本-reed的日志-网易博客自动监控apache服务状态并重启的shell脚本_ly_cyz-ChinaUnix博客关于shell判断退出-Linux
环境编程
wljk506
·
2015-05-07 17:00
linux
centos
ubuntu
UNIX高级
环境编程
(11)进程控制(Process Control)- 进程快照,用户标识符,进程调度
http://www.cnblogs.com/suzhou/p/4383259.htmlUNIX高级
环境编程
(11)进程控制(ProcessControl)-进程快照,用户标识符,进程调度 1进程快照
zdy0_2004
·
2015-04-01 19:00
linux
失误格掉了我的本本,怒装了Ubuntu Kylin
其实刚进Infy那时候玩儿过一阵Linux,第一个维护项目还是Unix的一个数据库项目,还特地装逼买了一本Unix
环境编程
blabla的书。之后的项目也设计Linux服务器的维护。。。
lisheng746
·
2015-03-17 15:00
ubuntu
UNIX
环境编程
文件I/O 文件和目录
命令od用来显示文件的内容od-c t 选项-c 以字符方式打印文件内容0000000123\n 0000006第一列是用八进制标志文件的字节偏移量ls-ls的第一列标志文件占用的磁盘块。具有空洞的文件,会虽然文件大小很正常文件是一样的,但是会占用更多的磁盘块。块长是4096,当读写的BUFFSIZE=4096时性能最好。文件共享 打开文件的内核数据结构 每个文件 都可以 对当前文件的当前偏移量
u012063703
·
2015-03-13 09:00
UNIX
环境编程
学习2
restrict关键字用于告诉编译器,对象已经被指针所引用,不能通过除该指针外所有其他直接或间接的方式修改该对象的内容。标准定义了一种接口,而不是实现。UNIX标准化包括ISOC标准定义的24个头文件和POSIX标准中定义的必须头文件和扩展头文件,以及可选头文件。单一UNIX规范是POSIX.1的一个超集限制编译时限制和运行时限制限制,规定了每种类型的范围。在limits.hPOSIX的限制使人迷
u012063703
·
2015-03-12 12:00
UNIX
环境编程
学习1
1/etc/passwd各个字段意思linux系统用户信息 /etc/passwd这个口令文件由7个以冒号分割的字段组成,它们是:用户名,加密口令,用户ID,用户组ID,注释字段,家目录,shell程序。如work:x:501:501::/home/work:/bin/bash当我们了解到历史缘由后,会更好地理解采用某种特定实现技术的原因。当一个文件具有多个硬连接时,很难保持多个属性副本之间的同步
u012063703
·
2015-03-10 20:00
程序员往底层偏的一条路线
汇编语言C/C++语言Java程序设计操作系统编译原理计算机网络信号与系统数字信号处理通信原理语音信号处理数字图像处理自动控制原理KERNELGCCInternalsELF标准POSIX标准UNIX高级
环境编程
liutianshx2012
·
2015-03-07 15:00
Linux
环境编程
导引
计算机系统硬件组成 总线贯穿整个系统的一组电子管道称为总线, 分为: 片内总线 系统总线数据总线DB地址总线AB控制总线CB 外部总线 I/O设备I/O设备是系统与外界联系的通道 键盘鼠标是输入设备,显式器是输出设备,磁盘既是输入设备也是输出设备,输入输出是相对于内存来说的。 内存 内存是一个重要的部件,它是与CPU进行沟通的桥梁。它用来存放程序以及程序要处理的数据,磁盘中的程序要加载到内存才能
hanqing280441589
·
2015-02-18 09:00
操作系统
错误处理
系统编程
Linux编程
硬件组成
关于GDB学习与valgrind学习的一点点建议
学习与valgrind学习的一点点建议,其实说不上是建议,只是我自己的一个想法,因为我本身就是非常菜的鸟,这些算是基本的东西都不太会,那么如果你也是这样,我可以肯定你对于UNIX网络编程,或者UNIX高级
环境编程
这些书上的内容也不太熟悉
卜星星
·
2015-02-12 17:00
关于博客
本人有在平时开发了许多便于学习的程序例子,鉴于有时候没有时间写博客,后续将有cocos2dx,linux
环境编程
,hadoopeclipse开发等方面的,希望大家多多关注。
m47838704
·
2015-01-12 21:00
eclipse
linux
hadoop
博客
cocos2dx
linux 定时器服务器程序
这个是我在上linux高级
环境编程
的课程的作业,自己觉得写的还不错,拿出来跟大家分享哈首先是开发环境截图,ubuntuvmwaresecureCRT运行效果截图源代码,有兴趣的可以拿去研究,贡献给大家。
m47838704
·
2015-01-12 21:00
c
linux
ubuntu
定时器
《unix高级
环境编程
》终端 I/O——终端 IO 基本概述
终端基本概念终端IO是一种字符型设备,终端特殊设备文件一般有以下几种:串行端口终端:是使用计算机串行端口连接的设备,计算机把每个串行端口都看作是一个字符设备。串行端口所对应的设备名称/dev/ttySn(n表示从0开始的整数);伪终端:是成对的逻辑终端设备,例如/dev/ptyp3和/dev/ttyp3(在设备文件系统中分别是/dev/pty/m3和/dev/pty/s3),它们与实际物理设备并不
chenhanzhun
·
2014-11-22 16:00
终端IO
《unix高级
环境编程
》进程间通信—— UNIX 域套接字
UNIX域套接字 UNIX套接字可在用一台机器上实现进程间通信,因为 UNIX域套接字仅仅复制数据,不执行协议处理,不需要添加或删除网络报头,无需验证和,不产生顺序号,无需发送确认报文,比因特网域套接字的效率更高。UNIX域套接字提供流和数据报两种接口,UNIX域数据报服务是可靠的,既不会丢失消息也不会传递出错。UNIX域套接字是套接字和管道之间的混合物。为了创建一对非命名的,相互连接的UN
chenhanzhun
·
2014-11-21 21:00
unix
域套接字
《unix高级
环境编程
》进程间通信——基于 STREAMS 的管道
前面介绍的《管道进程间通信》是半双工管道,本节基于 STREAMS的管道是属于全双工的管道,半双工和全双工管道的区别如下:半双工只能在一端进行读或写;全双工可以在某一端同时进行读写;基于STREAMS的管道 基于STREAMS的管道是一个全双工的管道,单个 STREAMS管道就能实现父、子进程之间的双向的数据流操作。下面是基于STREAMS的管道两种方式: 基于STREAMS管
chenhanzhun
·
2014-11-21 20:00
进程间通信
STREAMS管道
《unix高级
环境编程
》套接字——套接字选项
套接字选项套接字机制有两种套接字选项接口来控制套接字行为:一种接口用来设置选项;另一种接口允许查询一个选项的状态;可以设置或获取下面三种选项:通用选项,工作在所有套接字类型上;在套接字层次管理的选项,但依赖于下层协议的支持;特定于某种协议的选项,为每个协议所独有;若要对套接字选项进行设置时,可以调用函数setsockopt进行设置,调用函数getsockopt获取套接字选项的当前值,其定义如下:/
chenhanzhun
·
2014-11-21 17:00
套接字选项
带外数据
《unix高级
环境编程
》套接字——基于 socket 的编程
基于套接字的连接建立成功之后,就可以进行通信,下面是基于套接字的编程的过程:在基于TCP的通信连接请求过程有三次握手,其过程如下所示:第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态
chenhanzhun
·
2014-11-20 20:00
套接字编程
《unix高级
环境编程
》套接字——数据传输
前一章节记录的套接字的连接《套接字基本操作》,建立连接完成之后,服务器进程和客户端进程之间就可以进行数据传输。数据传输过程中,我们可以使用read和write函数实现,但是想指定选项、从多个客户端接收数据包或发送带外数据时,可以采用以下函数,下面函数分别有三个数据发送函数和与之相对应的数据接收函数。 /*数据传输*/ /* *函数功能:发送数据; *返回值:若成功则返回发送的字节数,若出错
chenhanzhun
·
2014-11-20 10:00
数据传输
套接字通信
《unix高级
环境编程
》套接字——套接字基本操作
在套接字进行通信时,首先要建立服务器进程和客户端进程之间的连接,连接创建成功之后才可以传输数据,以下是套接字通信的过程:将套接字与地址绑定 调用函数socket创建套接字描述符时,该套接字描述符是存储在它的协议族空间中,没有具体的地址,要使它有一个地址,可以调用函数bind使其与地址绑定。客户端的套接字关联的地址可有系统默认分配,因此不需要指定具体的地址。若要为服务器端套接字绑定地址
chenhanzhun
·
2014-11-19 19:00
socket
listen函数
bind函数
套接字操作
accept函数
《unix高级
环境编程
》套接字——套接字基本描述
在前面部分介绍的:管道、FIFO、消息队列、信号量和共享内存都是同一台计算机上的进程间通信,本节介绍的套接字是可以实现不同计算机之间的远程进程间通信。套接口是网络进程的ID,在网络中每一个节点都有一个网络地址,也就是IP地址,两个进程间通信时,首先要确定各自所在网络节点的网络地址。但是,网络地址只要确定进程所在的计算机,由于一台计算机上同时可能有多个网络进程,所以仅凭网络地址还不能确定是网
chenhanzhun
·
2014-11-19 10:00
socket
套接字
《unix高级
环境编程
》进程间通信——共享内存
共享内存是允许两个或多个进程共享同一块内存区域,并通过该区域实现数据交换的进程间通信机制。通常是由一个进程开辟一块共享内存区域,然后允许多个进程对此区域进行访问。由于不需要任何介质,而是数据由内存直接映射到进程空间,即数据不需要在客户进程和服务进程之间复制,所以共享内存是最快的IPC机制。共享内存必须解决多个进程之间同步访问的问题,必须控制同一时刻只允许一个进程对共享内存区域进行写入数据操
chenhanzhun
·
2014-11-18 16:00
共享内存
《unix高级
环境编程
》进程间通信——信号量
这里所介绍的信号量是一种计数信号量集,它是一个计数器,用于多进程对共享数据对象的访问。共享资源通常分为两类:一类是互斥共享资源,即任一时刻只允许一个进程访问该资源;另一类是同步共享资源,即同一时刻允许多个进程访问该资源;信号量是解决互斥共享资源的同步问题而引入的机制。 当有进程要求使用共享资源时,需要执行以下操作:系统首先要检测该资源的信号量;若该资源的信号量值大于0,则进程可以使用
chenhanzhun
·
2014-11-17 20:00
信号量
《unix高级
环境编程
》进程间通信——消息队列
消息队列是消息的链接表,保存在内核,通过消息队列的引用标识符来访问消息,消息队列对每个消息指定了特定的消息类型,接收消息的进程可以请求接收下一条消息,也可以请求接收下一条特定类型的消息。系统内核维护的消息队列的结构如下:#include structmsqid_ds { structipc_permmsg_perm;/*IPC对象的属性信息和访问权限*/ structmsg*msg_fi
chenhanzhun
·
2014-11-17 16:00
消息队列
《unix高级
环境编程
》进程间通信——管道和FIFO
管道是早期UNIX系统的IPC机制,并且所有的UNIX系统都提供了管道通信机制。管道的一个显著性特点就是:当一个管道建立后,将获的两个文件描述符,分别用于对管道读取和写入,通常将其称为管道的写入端和管道的读取端,从写入端写入管道的任何数据都可以从读取端读取。对于一个进程来说,管道的写入和读取操作与写入和读取一个普通文件没有区别,只是在内核中通过这种机制来实现进程间通信。管道IPC 有以下两
chenhanzhun
·
2014-11-16 20:00
函数
函数
管道
Popen
进程间通信
pclose
《unix高级
环境编程
》进程间通信——进程间通信概述
进程通信(IPC)是处理一个多进程系统中各个进程之间的协调。进程通信就是指多个进程之间相互通信、交换信息的方法。进程通信的目的如下:数据传输:一个进程需要将它的数据发送给另一个进程;共享数据:多个进程操作共享数据,若其中一个进程修改了共享数据,则其他进程立即可以看到修改后的数据;通知事件:一个进程要向另一个或一组进程发送消息,通知它们发生了某种事,例如进程终止时要通知父进程;资源共享:多个进程共享
chenhanzhun
·
2014-11-16 16:00
进程间通信
Scoket套接字
《unix高级
环境编程
》高级 I/O—— 存储映射 I/O
存储映射I/O使一个磁盘文件与存储空间中的一个缓冲区相映射。于是从缓冲区中取数据,就相当于读文件的相应字节,同理,将数据写入缓冲区,则相应字节就会自动写入文件。这样可以不使用read和write函数的情况下执行I/O。 将一个给定的文件映射到缓冲区可以使用mmap函数;/*存储映射IO*/ /* *函数功能:将一个给定文件映射到存储区域中; *返回值:若成功则返回缓冲区的起始地址,若
chenhanzhun
·
2014-11-16 11:00
存储映射IO
mmap函数
《unix高级
环境编程
》高级 I/O—— readv 和 writev 函数
当我们想要一次性对一个文件进行读、写多个非连续的缓冲区时,readv和writev函数能够实现该功能。这两函数也称为散布读和聚集写。其定义如下:/*读、写多个非连续的缓冲区*/ /* *函数功能:读取数据到多个非连续的缓冲区,或从多个非连续缓冲区写数据到文件; *返回值:若成功则返回已读、写的字节数,若出错则返回-1; *函数原型: */ #include ssize_treadv(in
chenhanzhun
·
2014-11-15 21:00
函数
函数
readv
writev
《unix高级
环境编程
》高级 I/O—— I/O 多路复用
当我们想要多次对描述符进行read 时,多路转接技术能够满足该要求。I/O多路转接技术首先构造一张有关描述符的列表,然后调用一个函数,直到这些描述符中的一个已准备好进行I/O时,该函数才返回,返回时,告诉进程哪些描述符已经准备好可以进行I/O操作。select和pselect函数/*IO多路转接*/ /* *函数功能: *返回值:准备就绪的描述符数,若超时则返回0,出错则返回-1; *函
chenhanzhun
·
2014-11-15 20:00
IO
select函数
多路转接
poll函数
《unix高级
环境编程
》高级 I/O——STREAMS(流)
STREAMS(流)是系统V提供的构造内核设备驱动程序和网络协议包的一种通用方法。流在用户进程和设备驱动程序之间提供了一条全双工通路,下面是流在用户进程和设备驱动程序之间的流图:写到流首的数据将顺流而下传送,由设备驱动程序读到的数据则逆流向上传送;STREAMS消息 STREAMS的所有输入和输出都是基于消息,流首和用户进程使用read、write、ioctl、getmsg、getp
chenhanzhun
·
2014-11-15 17:00
IO
高级
流STREAMS
《unix高级
环境编程
》高级 I/O——记录锁
当多个进程在编辑同一个文件时,在UNIX系统中,文件的最后状态取决于写该文件的最后一个进程,但是进程必须要确保它正在单独写一个文件,所以需要用到记录锁机制。记录锁的功能:当一个进程在读或修改文件的某一部分时,它可以阻止其他进程修改同一个文件区,记录锁也称为字节范围锁,因为它锁定的只是文件中的一个区域或整个文件。fcntl记录锁 记录锁可以通过fcntl函数进行控制,该函数的基本形式如
chenhanzhun
·
2014-11-15 10:00
记录锁
fcntl记录锁
《unix高级
环境编程
》高级 I/O——非阻塞 I/O
非阻塞I/O使我们可以调用open、write和read这样的I/O操作,并使这些操作不会永远阻塞。如果这种操作不能完成,则立即出错返回,表示该操作若继续执行将阻塞。对于一个给定的文件描述符由以下两种方法可以对其指定非阻塞I/O:若调用 open获得描述符,则可指定 O_NONBLOCK 标志;对已打开的描述符,可以使用 fcntl,由该函数打开 O_NONBLOCK 文件状态标志;测试程序:#i
chenhanzhun
·
2014-11-15 08:00
IO
非阻塞IO
《unix高级
环境编程
》线程控制——线程和 fork
多线程的父进程调用fork函数创建子进程时,子进程继承了整个地址空间的副本。子进程里面只有一个线程,它是父进程中调用fork函数的线程的副本。在子进程中的线程继承了在父进程中相同的状态,即有相同的互斥量、读写锁和条件变量。如果父进程中的线程占用锁,则子进程也同样占有这些锁,只是子进程不包含占有锁的线程的副本,所以并不知道具体占有哪些锁并且需要释放哪些锁。 如果子进程从fork返回之后
chenhanzhun
·
2014-11-14 16:00
线程和fork
《unix高级
环境编程
》线程控制——线程与信号
当线程被创建时,它会继承进程的信号掩码,这个掩码就会变成线程私有的,所以我们可以设置进程的信号掩码,使其在当前进程创建的线程都会屏蔽信号。多个线程是共享进程的地址空间,每个线程对信号的处理函数是相同的,即如果某个线程修改了与某个信号相关的处理函数后,所在进程中的所有线程都必须共享这个处理函数的改变。这样如果一个线程选择忽略某个信号,而其他的线程可以恢复信号的默认处理行为,或者为信号设置一个
chenhanzhun
·
2014-11-14 11:00
线程和信号
《unix高级
环境编程
》线程控制——线程取消选项
线程的取消选项有两种:可取消状态、可取消类型。这两个属性影响pthread_cancel函数的工作。可取消状态 可取消状态属性有两种状态,分别为PTHREAD_CANCEL_ENABLE(默认)和 PTHREAD_CANCEL_DISABLE。线程可以通过以下函数修改可取消状态:/*线程取消选项*/ /* *函数功能:修改可取消状态属性; *返回值:若成功则返回0,否则返回错误编
chenhanzhun
·
2014-11-13 22:00
线程取消选项
《unix高级
环境编程
》线程控制——线程私有数据
进程中的所有线程都可以访问进程的整个地址空间,一个线程真正拥有的唯一私有存储是处理器寄存器,甚至栈地址也能被共享,底层实现也没有阻止这种访问。但处理线程私有数据的函数可以提高线程间数据的独立性,维护基于每个线程的数据。 在需要一个变量时,如果所有线程共享相同的值,则可以使用静态或外部数据,就像在单线程程序中那样,但通常需要互斥量来同步跨越多个线程对共享数据的存取;如果每个线程都需要一
chenhanzhun
·
2014-11-13 21:00
线程私有数据
《unix高级
环境编程
》线程控制——同步属性
在前面章节介绍的《线程同步》都是默认属性,这里将要介绍在线程同步的互斥量、读写锁和条件变量的属性,可以指定一些属性来避免死锁等情况。互斥量属性 互斥量属性可以用pthread_mutexattr_t数据结构来进行操作,属性的初始化操作如下:/*同步属性*/ /*互斥量属性*/ /* *函数功能:初始化互斥量属性; *返回值:若成功则返回0,否则返回错误编码; *函数原型: */ #
chenhanzhun
·
2014-11-13 19:00
互斥量属性
读写锁属性
条件变量属性
同步属性
《unix高级
环境编程
》线程控制——线程属性
在创建新的线程时,我们可以使用系统默认的属性,也可以自己指定线程的主要属性。我们可以指定pthread_attr_t结构修改线程的默认属性,并把这个属性与创建线程联系起来。下面先看下线程的主要属性:/*线程属性*/ /* *线程的主要属性: *(1)detachstate线程的分离状态属性; *(2)guardsize线程栈末尾的警戒缓冲区大小(字节数); *(3)stackaddr线程
chenhanzhun
·
2014-11-13 16:00
线程属性
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他