一、线程的理解1、线程其实是一个进程的一个执行流。2、线程是操作系统调度的基本单位,进程是承担分配系统资源的基本单位。3、linux下,一个进程就是一个独占资源的线程,即在这个地址空间仅有一个执行流,linux下的进程为轻量级进程(进程可以理解为是线程,可以理解为linux..
分类:
编程语言 时间:
2017-10-17 22:55:58
阅读次数:
245
多线程计数,每个线程累加10个数。 实现: ...
分类:
编程语言 时间:
2017-10-15 21:21:32
阅读次数:
168
前言:无论是多线程编程还是多进程编程,控制好不同线程或不同进程之间同步和互斥问题是非常有必要的。同步是多个进程或线程共同完成某个任务,举例说,一个缓冲区的生产者和消费者问题,当生产者生产了一个商品时,等待的消费者就获得了一个消息知道可以去取走商品了,当消费者取走一个商品后,生产者就知道可以继续生产一 ...
分类:
编程语言 时间:
2017-08-23 13:29:39
阅读次数:
232
?> 之前做过一些文件下载的统计,发现谷歌浏览器chrome和火狐firefox, 一般都是单线程的下载文件,360浏览器却是多线程的下载。 如今切换到了mac上,发现没有360哪个浏览器,就像找个在linux或者mac下能够多线程下载的工具。 linux mac 下载现状 linux一般都是用的命 ...
分类:
编程语言 时间:
2017-08-19 22:17:41
阅读次数:
200
#include <stdio.h> #include <stdlib.h> int flag = 1; void * thr_fn(void * arg) { while (flag){ printf("******\n"); sleep(10); } printf("sleep test thr ...
分类:
编程语言 时间:
2017-08-19 12:47:21
阅读次数:
318
1. 什么是相互排斥量 相互排斥量从本质上说是一把锁,在訪问共享资源前对相互排斥量进行加锁,在訪问完毕后释放相互排斥量上的锁。对相互排斥量进行加锁以后,不论什么其它试图再次对相互排斥量加锁的线程将会被堵塞直到当前线程释放该相互排斥锁。假设释放相互排斥锁时有多个线程堵塞,所以在该相互排斥锁上的堵塞线程 ...
分类:
编程语言 时间:
2017-08-17 20:13:45
阅读次数:
176
1.windows/linux,多线程/多进程 IBM测试,切换线程context的时候,windows比linux快一倍多。进出最快的锁(windows2k的 critical section和linux的pthread_mutex),windows比linux的要快五倍左右。可见多线程这个具体的 ...
分类:
其他好文 时间:
2017-08-11 12:27:45
阅读次数:
142
使用Socket创建TCP服务器1首先了解一下TCP1TCP是面向连接的,必须是三次握手之后2TCP提供可靠连接,实现丢失重传,RTT的估算物理网卡网线都会影响这个丢包3TCP通过给所发数据的每一个段管理一个序列号进行排序.没一个包都有一个序号,由底层按照序列号发送给你4TCP提供流量控制和拥..
分类:
编程语言 时间:
2017-07-16 17:25:52
阅读次数:
164
在单线程程序中。我们常常要用到"全局变量"以实现多个函数间共享数据, 然而在多线程环境下。因为数据空间是共享的。因此全局变量也为全部线程所共同拥有。但有时应用程序设计中有必要提供线程私有的全局变量,仅在某个线程中有效,但却能够跨多个函数訪问。POSIX线程库通过维护一定的数据结构来解决问题。这个些数 ...
分类:
编程语言 时间:
2017-06-24 21:03:15
阅读次数:
179