多线程

  • 如何利用多核提升分词速度

    在进行中文分词的时候,我们如何利用多核提升分词速度呢? 计算机很早就进入多核心时代了,不充分利用多核CPU是对计算资源的一种极大的浪费. 在对一段文本进行分词的时候,word分词器的处理步骤如下: 1.把要分词的文本根据标点符号分割成句子: 2.以分割后的句子为基本单位进行分词: 3.把各个句子的分词结果按原来的句子顺序组合起来: word分词器充分考虑到了利用多核提升分词速度这个问题,在第1步完成后,如果分割出了多个句子,那么这多个句子就可以同时(并行)进行分词,这样就能充分利用多核CPU来提

    word, 多线程, 多核, word分词器, 并行分词, ParallelStreamMay 12

  • iOS多线程总结

    1.GCD 特点:易用,易读,直观,灵活,高性能 gcd其实没有线程的概念,其实gcd的多线程是由于多任务概念带来的效果 //创建子线程执行 dispatch_async(dispatch_get_global_queue(0, 0), ^{ //... }); //在主线程执行 dispatch_async(dispatch_get_main_queue(), ^{ //... }); 关于GCD更多内容,请查看<GCD的使用> 2.NSThead 特点:基础,易维护 NSThread* m

    ios, 多线程May 7

  • Java多线程中关于notify和wait

    程序功能:4个线程,2个线程对某个数值进行加1:2个线程进行减1,要求该数在0和1之间切换.程序如下,大家看看问题出在哪里: DecThread类,对sample的i进行减1的线程: public class DecThread extends Thread{ private Sample sample; public DecThread(Sample sample, String name){ super(name); this.sample = sample; } @Override pub

    Java, 多线程May 4

  • Python3写爬虫(四)多线程实现数据爬取
    Python3写爬虫(四)多线程实现数据爬取

    前段时间阅读了一篇名为< [Python]网络爬虫(八):糗事百科的网络爬虫(v0.3)源码及解析(简化更新) >的博客,基于Python2.7编写,我用Python3将其重构,在前几篇内容的基础上加入了多线程并且用类实现.以下是程序源代码,并对源代码进行解读: #!/usr/bin/env python3 import queue import urllib.request as request import re import threading import socket import

    python, 爬虫, 多线程, 数据获取April 18

  • Java 四种线程池的介绍和使用

    1. newCachedThreadPool 创建一个可缓存的线程池.如果线程池的大小超过了处理任务所需要的线程, 那么就会回收部分空闲(60秒不执行任务)的线程,当任务数增加时,此线程池又可以智能的添加新线程来处理任务.此线程池不会对线程池大小做限制,线程池大小完全依赖于操作系统(或者说JVM)能够创建的最大线程大小. 2.newFixedThreadPool 创建固定大小的线程池.每次提交一个任务就创建一个线程,直到线程达到线程池的最大大小.线程池的大小一旦达到最大值就会保持不变,如果某个线

    Java, 多线程, 线程池April 10

  • java多线程学习-java.util.concurrent详解(四) BlockingQueue

    前面一篇blog 我们主要探讨了ScheduledThreadPoolExecutor定时器的使用 --------------------------------------------------------------------------------- 7.BlockingQueue "支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及存储元素时等待空间变得可用." 这里我们主要讨论BlockingQueue的最典型实现:LinkedBlockin

    Java, 数据结构, 生活, 多线程, ThreadApril 9

  • java多线程学习-java.util.concurrent详解(三)ScheduledThreadPoolExecutor

    前一篇blog 我们学习了java多线程的信号量/FutureTask ---------------------------------------------------------------------------------- 6. ScheduledThreadPoolExecutor 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: "可另行安排在给定的延迟后运行命令,或者定期执行命令.需要多个辅助线程时,或者要求 ThreadPoolExecutor 具有额外的灵活性

    blog, Java, 多线程April 9

  • java多线程学习-java.util.concurrent详解(二)Semaphore/FutureTask/Exchanger

    前一篇文章 我们学习了java.util.concurrent的CountDownLatch和CyclicBarrier 今天我们继续共同来探讨其他的多线程组件 ----------------------------------------------------------------------------- 3. Semaphore 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: "一个计数信号量.从概念上讲,信号量维护了一个许可集.如有必要,在许可可用前会阻塞每一个 ac

    Java, 算法, 多线程, Thread, ExchangeApril 9

  • java多线程学习-java.util.concurrent详解(一) Latch/Barrier

    Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效.易维护.结构清晰的Java多线程程序.从这篇blog起,我将跟大家一起共同学习这些新的Java多线程构件 1. CountDownLatch 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: "一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 cou

    jdk, Java, 编程, 多线程, ThreadApril 9

  • NIO学习系列:连网和异步IO

    接前两篇关于NIO系列的学习文章:核心概念及基本读写 及缓冲区内部实现机制 ,本文继续探讨和学习连网和非阻塞IO相关的内容. 6. 连网和异步IO 1) 概述: 连网是学习异步I/O的很好基础,而异步I/O对于在Java语言中执行任何输入/输出过程的人来说,无疑都是必须具备的知识.NIO中的连网与NIO中的其他任何操作没有什么不同,它依赖通道和缓冲区,而您通常使用InputStream和OutputStream来获得通道. 本节首先介绍异步I/O的基础:它是什么以及它不是什么,然后转向更实用的.

    应用服务器, 多线程, socket, 网络应用April 8

  • Java多线程编程(5)-volatile和synchronized比较

    volatile和synchronized比较 1. volatile只能保证共享变量的可见性,不能保证共享变量操作的原子性:volatile不需要锁,比synchronized轻量级,不会阻塞线程. 2.从内存可见性来说,volatile读相当于对共享变量加锁,写相当于对共享变量解锁. 3.synchronized既可以保证共享变量的可见性,也可以保证原子性. 4.除了用synchronized,也可以用 java.util.concurrent.locks.Lock. 几个概念 1.共享变量

    Java, 多线程, Thread, lock, synchronized, volatileApril 2

  • Java多线程:线程状态
    Java多线程:线程状态

    一. 线程状态类型 1. 新建状态(New):新创建了一个线程对象. 2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权. 3. 运行状态(Running):就绪状态的线程获取了CPU,执行程序代码. 4. 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行.直到线程进入就绪状态,才有机会转到运行状态.阻塞的情况分三种: (一).等待阻塞:运行的线程执行

    jvm, Java, JOIN, 多线程March 26

  • Java线程同步:synchronized锁住的是代码还是对象

    在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行.synchronized既可以加在一段代码上,也可以加在方法上. 关键是,不要认为给方法或者代码段加上synchronized就万事大吉,看下面一段代码: class Sync { public synchronized void test() { System.out.println("test开始.."); try { Thread.sle

    Java, 多线程, synchronized, , 线程同步March 26

  • Java多线程编程(1)-Thread和Runnable

    1.概念和示例代码 进程是内存中运行的一个应用程序,是操作系统分配资源的最小单位. 线程是进程中的一个执行流程,进程可以执行多个线程,线程总是属于某个进程,进程中的多个线程共享进程中的内存资源. 为了更有效的完成任务和利用CPU资源,需要多线程操作,因而需要多线程编程.Java多线程编程的时候,可以继承于Thread对象,也可以实现Runnable接口. 示例代码如下. public class Main { public static void main(String[] args) { //

    runnable, Java, 多线程, ThreadMarch 25

  • java 多线程 CountDownLatch用法

    CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 构造方法参数指定了计数的次数 countDown方法,当前线程调用此方法,则计数减一 awaint方法,调用此方法会一直阻塞当前线程,直到计时器的值为0 例子

    Java, 多线程, countdownlatchMarch 15

  • [003][深入解析Java中volatile关键字的作用]
    [003][深入解析Java中volatile关键字的作用]

    Java语言支持多线程,为了解决线程并发的问题,在语言内部引入了同步块synchronized和volatile关键字机制.在java线程并发处理中,关键字volatile比较少用,原因是:一.JDK1.5之前该关键字在不同的操作系统上有不同的表现,所带来是问题就是移植性差,二.是设计困难,而且误用较多. ‍‍synchronized ‍‍ 同步块,通过 synchronized 关键字来实现,所有加上synchronized 和块语句,在多线程访问的时候,同一时刻只能有一个线程能够用synch

    Java, 多线程, synchronized, volatileMarch 15

  • Servlet线程安全相关问题

    servlet采用单实例多线程模式开发的 问题一. 说明其Servlet容器如何采用单实例多线程的方式来处理请求 问题而. 如何在开发中保证servlet是单实例多线程的方式来工作(也就是说如何开发线程安全的servelt) 一. Servlet容器如何同时来处理多个请求 先说明几个概念: 工作者线程Work Thread:执行代码的一组线程 调度线程Dispatcher Thread:每个线程都具有分配给它的线程优先级,线程是根据优先级调度执行的 Servlet采用多线程来处理多个请求同时访问

    tomcat, servlet, 浏览器, 多线程, 工作March 12

  • [Java线程]锁机制:synchronized.Lock.Condition

    http://www.infoq.com/cn/articles/java-memory-model-5 深入理解Java内存模型(五)--锁 http://www.ibm.com/developerworks/cn/java/j-jtp10264/ Java 理论与实践: JDK 5.0 中更灵活.更具可伸缩性的锁定机制 http://blog.csdn.net/ghsau/article/details/7481142 1.synchronized 把代码块声明为 synchronized,

    Java, 多线程March 11

  • Java线程图文总结
    Java线程图文总结

    实现方式 简单介绍一下Java多线程实现方式,有以下三种: 1.继承Thread类 2.实现Runnable接口 3.使用ExecutorService.Callable.Future实现有返回结果的多线程 区别是前两种执行完之后不带返回值,最后一种带返回值,其中最常用为前两种. 线程的状态 java线程的整个生命周期有5个状态:新建,就绪,运行中,阻塞,结束. 5个状态之间的关系将结合下图理解: 上图为java线程生命周期期间的各种命运,下面介绍常见的几种命运. 命运一: 新线程创建成功,调用

    sleep, Java, 多线程, Thread, waitMarch 10

  • android开发的学习路线

    ‍原文网址链接:http://blog.csdn.net/xujing81/article/details/7313507 第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和StringBuffer的使用.正则表达式. 3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收:构造函数.this关键字.方法和方法的参数传递过程.static关键字.内部类,Java的垃极回收机制,Javadoc介绍. 4.对象实例化过程.方法的覆盖.final

    sqlite, android, listview, radiobutton, 多线程March 9

  • JAVA远程监控程序

    之前用java实现过一个远程监控的程序,主要用于同时向多台机器推送文件和执行系统命令,并可监控受控机的屏幕. 该应用主要是以下3个功能: 1,监控端远程监视.控制受控端的桌面 2,监控端向多个受控端发送系统命令 3,监控端向多个向受控端传送文件 经过测试,监控端可同时监控200台受控端机器(本人只尝试同时200个受控机连监控机).监控过程中,监控端重启,重启后会重新连接受控端. 监控端代码:http://git.codeweblog.com/ericquan8/monitor-server 受控

    多线程, 远程监控March 7

  • java中的多线程

    在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 对于直接继承Thread的类来说,代码大致框架是: class 类名 extends Thread{ 方法1; 方法2: - public void run(){ // other code- } 属性1: 属性2: - } 先看一个简单的例子: /** * @author Rollen-Holt 继承Thread类,直接调用run方法 * */ class hello extends Thre

    Java, 多线程March 4

  • iOS开发多线程篇---线程间的通信

    线程间通信的表现: 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 下面是一个下载图片的例子: @interface BTThreadViewController () { UIImageView *imagev; } @end - (void)viewDidLoad { [super viewDidLoad]; imagev = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 10

    多线程March 3

  • iOS开发多线程篇---多线程基础介绍和创建

    线程的串行: 进程是指在系统中正在运行的一个应用程序,比如qq,酷狗音乐等.如果需要下载某首歌的话,就必须有线程(每1个进程至少要有1条线程).如果要在1个线程中执行多个下载任务,就只能一个一个的按照顺序去下载.就是说,同一个时间内,1个线程只能执行1个任务. 进程和线程的区别: 一个进程至少拥有一个线程--主线程,也可以拥有多个线程:一个线程必须有一个父进程.多个进程可以并发执行:一个线程可以创建和撤销另一个线程:同一个进程中的多个线程之间可以并发执行. 多线程的原理: 1个进程中可以开启多条

    多线程, NSThreadFebruary 28

  • Web应用同一线程内不同架构层次的数据共享

    在编写java web应用的Service 层代码时,常常需要根据当前会话用户查询相关的数据,而用户信息一般都是放在 HttpSession中,那么问题来了,如何在 Service层获取会话用户? 简单的做法是在 Contrller 层获取会话用户,然后通过参数传递给 Service.那么问题又来了,Service 方法那么多,这种做法太繁琐了,有没有优雅一点的办法? 稍有点经验的大概都知道可以用 ThreadLocal 解决,没错,就是她了,先上代码: public class ThreadC

    mvc, threadlocal, Java, filter, 多线程, 数据共享, 会话用户February 11

  • 多线程 wait sleep synchronized

    同步(synchronized) 格式: synchronized(对象) { 需要同步的代码: } 同步可以解决安全问题的根本原因就在那个对象上. 该对象如同锁的功能.同步的前提:  同步需要两个或者两个以上的线程.  多个线程使用的是同一个锁. 未满足这两个条件,不能称其为同步. 同步的弊端: 当线程相当多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形 中会降低程序的运行效率.格式: 在函数上加上synchronized修饰符即可.2:wait(),sleep()有什么区别

    sleep, 多线程, synchronized, waitFebruary 8

  • ThreadLocal设计模式

    ThreadLocal设计模式使用的也很频繁,会经常在各大框架找到它们的踪影,如struts2以及最近正在看的SpringAOP等. ThreadLocal设计模式也有很多误解,我的理解是 (1)ThreadLocal所操作的数据是线程间不共享的.它不是用来解决多个线程竞争同一资源的多线程问题. (2)ThreadLocal所操作的数据主要用于线程内共享数据,可以避免同一线程内函数间的传参数问题. ThreadLocal更像是一个操作线程数据的工具类,哪个线程调用它,它就操作哪个线程的数据. 案

    threadlocal, 源码, 设计模式, 多线程February 7

  • Java:多线程死锁

    死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去. 产生死锁的原因: 1.因为系统资源不足. 2.进程运行推进的顺序不合适. 3.资源分配不当. 产生死锁的条件: 互斥条件:所谓互斥就是进程在某一时间内独占资源. 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放. 不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系. 简单的来说:死锁就是因

    Java, 死锁, 多线程January 29

  • shell 中用管道模拟多线程

    shell 中用管道模拟多线程 这里以两个例子来对比多线程和单进程 单线程的例子 # config.txt在这个例子和多线程的例子中都会用到 [[email protected]_10.2.1.242 test]$ cat config.txt 1 2 3 4 1 2 3 4 # 下面的代码,是从config.txt中读取配置,然后sleep一定时间,然后打印sleep 的时间长度, # 注意 while从文本读取数据,是逐行读取的 [[email protected]_10.2.1.242 test]$ cat while.sh w

    shell, 多线程, PipeJanuary 22

  • Swing第五刀:走马观花看世博
    Swing第五刀:走马观花看世博

    没错,这依旧是一篇技术文章,而不是世博会游记.其实至今尚未参观世博会,虽然就生活在这个城市,却没有外地朋友的那番激情和热度.在上下班地铁站上与蜂拥而至的旅游团队挤地铁.看着地铁车厢屏幕上跳动的接近50万的世博会当日入园人数统计.画面上如广州火车站春运搬的人流,想想这接近40度的桑拿天和时不时骤降的倾盆大雨,这最后的一点去看一看的激情也被无情的抹杀了. 作为遵纪守法.积极用户党和政府的三好公民,就算未亲临世博,也要积极宣传世博,为城市做贡献,让城市更美好不是么?思前想后,还不如直接用我们程序员最熟

    swing, Flex, flash, 多线程, 中国移动January 21

  • 多线程 锁 等待唤醒

    class BoundedBuffer { final Lock lock = new ReentrantLock(); final Condition notFull = lock.newCondition(); final Condition notEmpty = lock.newCondition(); final Object[] items = new Object[100]; int putptr, takeptr, count; public void put(Object x)

    多线程, 并发, , java.util.concurrent.locks.*January 20

  • 并发编程之Operation Queue和GCD

    并发编程之GCD 在<并发编程之Operation Queue>中讲了Cocoa并发编程中的Operation Queue,了解了Operation Queue是一个面向对象的并发编程接口,它支持并发数,线程优先级,任务优先级,任务依赖关系等多种配置,可以方便满足各种复杂的多任务处理场景.本篇将接着讲另一种并发编程机制 – GCD(Grand Central Dispatch).iOS4.0中首度引入GCD,GCD是管理任务执行的一项技术,它使得我们对多任务处理变得更加方便和有效.它支持同步或

    ios, gcd, 多线程, 并发January 15

  • (四)用JAVA编写MP3解码器--读取文件

    1.随机文件访问接口 对MP3解码时需要随机读取MP3文件,读取的文件既包括本地磁盘文件,也包括来自于网络的远程文件,两类文件按同一规范访问,为了实现这一目标,先定义一个随机文件访问接口,IRandomAccess.java,源码如下: /* * IrandomAccess.java -- 随机访问文件接口 * * This program is free software: you can redistribute it and/or modify * it under the terms o

    Java, .NET, 多线程, Thread, 网络协议January 4

  • (十八)用JAVA编写MP3解码器--迷你播放器

    1.定义解码一帧的接口 ILayer123 Layer1.Layer2和Layer3这三个类都实现了ILayer123的decodeFrame方法. // ILayer123.java package jmp123.decoder; public interface ILayer123 { public void decodeFrame(int intFirstChannel, int intLastChannel) throws Exception; } 2.封装解码器 对帧头解码之后可以知道

    google, Java, 算法, 多线程, 网络协议January 4

  • Reactor模式,或者叫反应器模式

    Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些.通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽. 并发系统常使用reactor模式,代替常用的多线程的处理方式,节省系统的资源,提高系统的吞吐量. 先用比较直观的方式来介绍一下这种方式的优点,通过和常用的多线程方式比较一下,可能更好理解. 以一个餐饮为例,每一个人来就餐就是一个事件,他会先看一下菜单,然后点餐.就像一个网站会有很多的请

    设计模式, 生活, 多线程January 3

  • Linux下多线程编程(C语言)

    Linux下多线程编程(C语言) 2.6内核开始使用NPTL(Native POSIX Thread Library)线程库,这个线程库有以下几个目标: POSIX兼容,都处理结果和应用,底启动开销,低链接开销,与Linux Thread应用的二进制兼容,软硬件的可扩展能力,与C++集成等. 这里的线程是指用户空间的线程操作 一.线程相关操作 1.1 pthread_t pthread_t 在头文件 /usr/include/i386-linux-gnu/bits/pthreadtypes.h中

    linux, 编程, 多线程, Thread, 语言December 20

  • Java Concurrency(一)
    Java Concurrency(一)

    现在在CPU上,摩尔定律已经失效,大家都不再追求高频率,而是越来越追求多核,阿姆达尔定律似乎更重要一些了. 并发有很多优点,包括充分利用CPU的多核提高性能,更简单的模型(跟异步的callback hell相比)以及响应更灵敏得GUI等. 但是并发也引出很多问题,最重要的是安全性,很多在单线程环境下理所当然正确的程序在并发下都变得不正确,为了写出并发安全的程序,需要付出更多的努力.本文主要介绍一下并发问题的根本原因,以及针对策略. 来看下面简单的代码,我们知道SimpleDateFormat比较

    concurrency, jvm, Java, 多线程, 并发December 19

  • 一个Java多线程的例子(有错误版本)

    ThreadDemo.java public class ThreadDemo extends Thread { int number; public ThreadDemo(int num) { number = num; System.out.println("创建线程:" + number); } public void run () { Main.running_count++; for (int i = 0; i < 1000; i++) { Main.shared_va

    Java, 多线程, ThreadDecember 18

  • java多线程

    一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程.比如在Windows系统中,一个运行的exe就是一个进程. 线程是指进程中的一个执行流程,一个进程中可以运行多个线程.比如java.exe进程中可以运行很多线程.线程总是属于某个进程,进程中的多个线程共享进程的内存. "同时"执行是人的感觉,在线程之间实际上轮换执行. 二.Java中的线程 在J

    Java, 多线程, Thread, synchronized, runableDecember 11

  • Web版PACS开发纪要一:关闭动态库中创建的线程
    Web版PACS开发纪要一:关闭动态库中创建的线程

    最近的项目是关于B/S架构下的Web版PACS开发,为了缩短研发周期,采用了该领域主流的两大开源库:DCMTK和CxImage.但是由于项目初期对CxImage开源库的编译问题,导致该开源库在MFC下无法正常运行,因此决定将功能函数在控制台下完成,然后封装成动态链接库(XXX.dll),并加载到MFC工程中.下面是对"急救车上的多种医疗设备数据采集客户端"开发中遇到的问题进行的简略记录,主要分为以下几个部分: 1)问题的背景 2)演示工程构建 3)问题分析 4)解决方案 5)总结 一.

    多线程, DCMTK, CxImageDecember 11

  • 用VC6.0 改写ANSI工程到UNICODE工程全过程

    最近,接到一个任务要将一个软件改写为支持中方版本的.其实思路很简单,只要将工程文件从ANSI版本改为UNICODE版就可以了.不过在改写的过程中还是遇到一些个小问题,现把整个过程记录下来,以便以后再遇到方便,同时,如果其它朋友也遇到同样的问题,也好解决,不用再一个个的找原因了. 1.首先,打开工程->重新编译. 确保原工程编译通过. 2.然后依次打开 project->setting ->c/c++ ->preprocessor definitions 下添加 _UNICODE 再

    dll, preprocessor, mfc, Windows, 多线程, GenerationDecember 1

  • wglMakeCurrent

    wglMakeCurrent wglMakeCurrent 函数设定OpenGL当前线程的渲染环境.以后这个线程所有的OpenGL调用都是在这个hdc标识的设备上绘制.你也可以使用wglMakeCurrent 函数来改变调用线程的当前渲染环境,使之不再是当前的渲染环境. BOOL wglMakeCurrent( HDC hdc, // device context of device that OpenGL calls are // to be drawn on HGLRC hglrc // O

    transformation, Application, null, 多线程, Thread, functionDecember 1

  • 理解I/O Completion Port(完成端口)

    欢迎阅读此篇IOCP教程.我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼.OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力.以下是我会在这篇文章中提到的相关技术: I/O端口 同步/异步 堵塞/非堵塞 服务端/客户端 多线程程序设计 Winsock API 2.0 在这之前,我曾经开发过一个项目,其中一块需要网络支持,当时还考虑到了代码的可移植性,只要使用select,connect,accept,liste

    microsoft, 服务器, Windows, 网络, 多线程, socketDecember 1

  • java.nio.channels.FileChannel 使用笔记

    java.nio.channels.FileChannel可实现多线程同时读取或写同一个文件,但是由于JRE的bug不能在Windows系统上实现这一功能,而能在除Windows之外的其它平台上实现.

    多线程, 读取相同文件, Java.nio.channels.FileChannelNovember 30

  • 转行,学习JSP一个月总结

    每次做到项目的jsp页面写作的时候总是遇到这样或者那样的问题,其中多数和参数的获取和参数的传递,以及后台数据的传入有关系. 现在冷静下来好好想一想. 第一,JSP页面的定位. ----------------------- 功能,实现参数的抓取,即,从网页的表单或者各种途径中抓取有用的数据,传递给后台.从后台取数据并且展示在前台. 通过jsp向后台传递参数和数据的方式有: 通过url?xx=xx的方式来传递: 通过form表单来传递: 通过setAttribute来传递: 通过加入隐藏的栏位来传

    servlet, jsp, filter, 框架, 多线程November 28

  • 初级必备:Java版本区别与了解_JavaSE_多线程2

    链接地址:http://www.xx566.com/detail/98.html 上一篇:初级必备:Java版本区别与了解_JavaSE_多线程(1)说到,sun公司在Java 5中引入了一系列处理并发和多线程的功能类--Executor框架,其实更准确的说,是提供了java.util.concurrent工具包,在并发编程中使用的工具类,下面我们通过修改一下上一篇的示例来开始今天的学习: package javase; import java.util.concurrent.locks.Ree

    executor, Java, 多线程November 28

  • 初级必备:Java版本区别与了解_JavaSE_多线程1

    链接地址:http://www.xx566.com/detail/97.html 首先我们需要了解进程和线程的概念,在操作系统中,进程是在某种程度上相互隔离,独立运行的程序.进程不只是程序代码,还包括当前活动,通过程序计数器的 值和处理器寄存器的内容来表示.进程通常还包括进程堆栈段(包括临时数据,如函数参数.返回地址和局部变量)和数据段(包括全局变量).进程还可能包括堆 (heap),是在进程运行期间动态分配的内存. 每个进程包含一到多个线程.线程是一组指令的集合,或者是程序的特殊段,它可以在程

    Java, 多线程November 28

  • 超人学院系列三之

    2014/11/25日 本周二晚上20:30,继续推出免费公开课<多线程那点儿事>系列三之<线程同步基础> 更多详情关注:http://www.superwu.cn Q群:328654266 主讲老师: 超人学院陈老师 多年的java开发相关经验,对于java开发的理解和应用有着深厚的 经验,曾任传智播客java老师,培训超过上百名学生,讲课风格 深入浅出,让学生更加生动的理解课程内容,得到学生的一致好 评. 主要讲解一下内容: 线程同步基础: 1.使用synchronized实现

    Java, 多线程November 24

  • iOS 网络请求Json自动转存到CoreData(一)

    奉上地址一枚:GitHub 并自带demo- 项目需求:从网络获取Json后,将Json自动转存到CoreData中. 本次任务:对CoreData封装,完成基本的增删改查,多线程操作. 我们总是在跌跌撞撞中,不断成长. CoreDataActivity.h // // CoreDataActivity.h // QGLCoreDataPlugin // // Created by Guicai.Li on 14-10-16. // Copyright (c) 2014年 Guicai Li.

    ios, 多线程, coredataOctober 17

  • 文件句柄.文件描述符与进程和多线程的那些事
    文件句柄.文件描述符与进程和多线程的那些事

    传送门:PYTHON多线程处理文件 文件句柄(摘抄的一些概念,帮助理解): 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等.WINDOWS句柄有点象C语言中的文件句柄. 如果想更透彻一点地认识句柄,我可以告诉大家,句柄是一种指向指针的指针.我们知道,所谓指针是一种内存地址.应用程序启动后,组成这个程序的各对象是住留在内存的.如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用

    操作系统, 多线程, 文件描述符, 文件句柄October 14