全文共分四部分: POSIX多线程—概述 POSIX多线程—异步编程举例 POSIX多线程—线程基本概念 POSIX多线程—互斥量概述 POSIX多线程—概述 Content1. 基础概念2. 线程安全3. 可重入4. 并发系统基本功能1. 基础概念线程进程里执行代码的部分;包含一系列机器指令所必....
分类:
编程语言 时间:
2015-05-06 14:51:11
阅读次数:
272
1. 编写一个基本的多线程程序(主线程里面创建一个子线程)
/*************************************************************************
> File Name: 1_homework.c
> Author: 梁惠涌
> Addr:
> Created Time: 2015年04月22日 星期三 15时22分34秒...
分类:
编程语言 时间:
2015-04-24 21:13:21
阅读次数:
177
1. 线程的同步与互斥 1.1. 线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数。mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上锁和解锁),可以把互斥锁看作某种意义上的全局变量。为什么需要加锁,就是因为多个线程共用进程的资源,要...
分类:
编程语言 时间:
2015-04-11 17:41:52
阅读次数:
239
#include #include #include #include static int value = 0; pthread_mutex_t mutex; void* func(void* ar...
分类:
编程语言 时间:
2015-04-11 14:34:40
阅读次数:
206
首先请看下面的例子:
package com.lipeng;
public class SynchronizedDemo {
public static void main(String[] args) {
final Print print=new Print();
for(int i=0;i<1000;i++)
{
new Thread(){
@Override...
分类:
编程语言 时间:
2015-04-09 21:56:54
阅读次数:
176
能解决下面的问题,基本上就能理解线程互斥与同步了。 子线程循环10次,主线程循环100次,接着子线程循环10,主线程循环100次。如此往复循环50次。 1 package cn.lah.thread; 2 3 public class TraditionalThreadCommunication ....
分类:
编程语言 时间:
2015-04-05 21:54:58
阅读次数:
126
#include #include #include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;int count = 0;void* function1( void* arg ){ int tmp = 0; while( 1 )...
分类:
编程语言 时间:
2015-04-01 10:50:05
阅读次数:
126
UNPv3上一共总结了9种服务器模型分别是:1.迭代服务器2.并发服务器,为每个客户fork一个进程3.预先派生子进程,每个子进程都调用accept,accept无上锁保护4.预先派生子进程,以文件锁的方式保护accept5.预先派生子进程,以线程互斥锁上锁的方式保护accept6.预先派生子进程,...
分类:
其他好文 时间:
2015-03-17 23:25:13
阅读次数:
157
Java多线程学习2——互斥一、前言 在上一节 (http://www.cnblogs.com/lzhen/p/3917966.html)中,通过实现Runnable接口,可以实现多线程中的资源的共享,解决了一些基本的问题,但是在实际使用过程中,直接使用其中的第四节中的方法却会产生一些不可预知的.....
分类:
编程语言 时间:
2015-03-10 17:06:36
阅读次数:
193
摘要:同一个CMutex对象不允许在两个线程中分别调用Lock和Unlock,否则Unlock会失败并返回0。
一、问题描述
笔者最近在开发过程中遇到了CMutex::Unlock返回0的情况,通过MSDN得知这表示Unlock失败。但MSDN并没有告诉我为什么会失败以及如何处理,查百度谷歌亦无果,于是决定动手探索。
这是MSDN上Unlock对返回值的解释
Ret...
分类:
其他好文 时间:
2015-03-09 17:40:47
阅读次数:
402