自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

职场里拉开差距的不是知识,而是认知!

学习没有捷径,唯一的捷径就是不走弯路!

  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

转载 Linux多线程编程讲解之系列十

作者简介:刘卓,西安理工网络工程专业,酷爱Linux,高并发编程。下面就分享一下刘同学的倾心力作。深入挖掘线程创建时的问题

2017-11-17 18:27:24 788

转载 Linux多线程编程讲解之系列九

前面介绍了线程的一些基本概念的特性,API等。后续会结合一些具体实战去分析更深层次的问题,欢迎大家继续review,讨论。浅析多线程并发及写微信红包遇到的问题

2017-11-17 18:25:03 581

转载 Linux多线程编程讲解之系列八

条件变量详解在 上一篇文章结束时,我描述了一个比较特殊的难题:如果线程正在等待某个特定条件发生,它应该如何处理这种情况?它可以重复对互斥对象锁定和解锁,每次都会检查共享数据结构,以查找某个值。但这是在浪费时间和资源,而且这种繁忙查询的效率非常低。解决这个问题的最佳方法是使用 pthread_cond_wait() 调用来等待特殊条件发生。了解 pthread_cond_

2017-11-17 18:08:04 563

转载 Linux多线程编程讲解之系列七

概念及作用在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。但有时应用程序设计中有必要提供线程私有的全局变量,仅在某个线程中有效,但却可以跨多个函数访问,比如程序可能需要每个线程维护一个链表,而使用相同的函数操作,最简单的办法就是使用同名而不同变量地址的线程相关数据结构。这样的数据结构可以由Posix线

2017-11-17 17:59:47 460

转载 Linux多线程编程讲解之系列六

线程安全介绍在目前的计算机科学中,线程是操作系统调度的最小单元,进程是资源分配的最小单元。在大多数操作系统中,一个进程可以同时派生出多个线程。这些线程独立执行,共享进程的资源。在单处理器系统中,多线程通过分时复用技术来技术,处理器在不同的线程间切换,从而更高效地利用系统 CPU资源。在多处理器和多核系统中,线程实际上可以同时运行,每个处理器或者核可以运行一个线程,系统的运算能力相对于单线程

2017-11-17 17:50:16 397

转载 Linux多线程编程讲解之系列五

在Posix线程规范中还有几个辅助函数难以归类,暂且称其为杂项函数,主要包括pthread_self()、pthread_equal()和pthread_once()三个,另外还有一个LinuxThreads非可移植性扩展函数pthread_kill_other_threads_np()。本文就介绍这几个函数的定义和使用。获得本线程IDpthread_t pthread_self(

2017-11-17 17:10:11 368

转载 Linux多线程编程讲解之系列四

线程终止方式一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是线程在其他线程的干预下,或者由于自身运行出错(比如访问非法地址)而退出,这种退出方式是不可预见的。线程终止时的清理不论是可预见的线程终止还是异常终止,都会存在资源释放的问题,在不

2017-11-17 17:04:00 334

转载 Linux多线程编程讲解之系列三

互斥锁尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的mutex函数。1. 创建和销毁有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: p

2017-11-17 15:57:24 581

转载 Linux多线程编程讲解之系列二

在上一篇文章中,我们谈到了会导致异常结果的线程代码。两个线程分别对同一个全局变量进行了二十次加一。变量的值最后应该是 40,但最终值却是 21。这是怎么回事呢?因为一个线程不停地“取消”了另一个线程执行的加一操作,所以产生这个问题。现在让我们来查看改正后的代码,它使用 互斥对象(mutex)来解决该问题:#include #include #include #include int

2017-11-17 15:47:56 535

转载 Linux多线程编程讲解之系列一

Linux多线程概述了解如何正确运用线程是每一个优秀程序员必备的素质。线程类似于进程。如同进程,线程由内核按时间分片进行管理。在单处理器系统中,内核使用时间分片来模拟线程的并发执行,这种方式和进程的相同。而在多处理器系统中,如同多个进程,线程实际上一样可以并发执行。那么为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间。不同的线程可

2017-11-17 15:18:05 1236

nova 命令

作为一个openstack的新手,我也是第一次加入这个大家庭,下面就简单介绍nova 命令学习。

2013-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除