`
oaklet
  • 浏览: 107646 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文本处理学习笔记4

阅读更多
环境情况如下:
python-2.5.2

Python在文本处理方面很有特色,
演示一下子线程的使用,以后可以用在文本处理中。

python代码(asleep1.py):
# coding:gbk

import time
import threading

def loop(nloop, nsec):
    global count, mutex
    print "loop", nloop, time.ctime()
    for i in range(nsec):
        mutex.acquire()
        time.sleep(1)
        count = count + 1
        print "loop", nloop, count
        mutex.release()
    print "loop", nloop, time.ctime()

if __name__ == "__main__":
    print "main begin", time.ctime()

    global count, mutex
    count = 0
    mutex = threading.Lock()
    threads = []

    loops = [5, 3]
    nloops = range(len(loops))
    for i in nloops:
        t = threading.Thread(target=loop, args=(i, loops[i]))
        threads.append(t)

    for i in nloops:
        threads[i].start()

    for i in nloops:
        threads[i].join()

    print "main end", time.ctime()

变形(asleep2.py):
# coding:gbk

import time
import threading

class MyThread(threading.Thread):
    def __init__(self, args):
        threading.Thread.__init__(self)
        self.args = args
        self.count = 0
    def run(self):
        self.loop(*self.args)
    def loop(self, nloop, nsec):
        print "loop", nloop, time.ctime()
        t = 0
        for i in range(nsec):
            time.sleep(1)
            t = t + 1
            print "loop", nloop, t
        self.count = t
        print "loop", nloop, time.ctime()

if __name__ == "__main__":
    print "main begin", time.ctime()

    threads = []
    loops = [5, 3]
    nloops = range(len(loops))

    for i in nloops:
        t = MyThread((i, loops[i]))
        threads.append(t)

    for i in nloops:
        threads[i].start()

    for i in nloops:
        threads[i].join()

    mainCount = 0
    for i in nloops:
        mainCount = mainCount + threads[i].count
        print i, threads[i].count
    print "main", mainCount

    print "main end", time.ctime()

再变形(asleep3.py):
# coding:gbk

import time
import threading

class MyThread(threading.Thread):
    def __init__(self, args):
        threading.Thread.__init__(self)
        self.args = args
        self.count = 0
    def run(self):
        self.count = loop(*self.args)

def loop(nloop, nsec):
    print "loop", nloop, time.ctime()
    t = 0
    for i in range(nsec):
        time.sleep(1)
        t = t + 1
        print "loop", nloop, t
    print "loop", nloop, time.ctime()
    return t

if __name__ == "__main__":
    print "main begin", time.ctime()

    threads = []
    loops = [5, 3]
    nloops = range(len(loops))

    for i in nloops:
        t = MyThread((i, loops[i]))
        threads.append(t)

    for i in nloops:
        threads[i].start()

    for i in nloops:
        threads[i].join()

    mainCount = 0
    for i in nloops:
        mainCount = mainCount + threads[i].count
        print i, threads[i].count
    print "main", mainCount

    print "main end", time.ctime()

ansleep1.py是一种简单风格的方式,
ansleep2.py是标准面向对象的方式,java风格
ansleep3.py使用了更灵活的调用方法,对象只存数据,主要逻辑在函数中。
分享到:
评论

相关推荐

    J2ME学习笔记 入门 学习经验

    j2me学习笔记【4】——Item类的学习 j2me学习笔记【5】——抛出异常处理的小例子 j2me学习笔记【6】——获取日期时间 j2me学习笔记【7】——复选框的应用 j2me学习笔记【8】——TextField的使用实例 j2me学习笔记【9...

    python文本数据处理学习笔记详解

    主要为大家详细介绍了python文本数据处理学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。 《JSP & Servlet学习笔记(第2版)》以“微博”项目贯穿全书,将JSP & Servlet技术应用...

    自然语言处理学习笔记nlp-tutorial

    通过自然语言处理技术,可以实现机器翻译、问答系统、情感分析、文本摘要等多种应用。随着深度学习技术的发展,人工神经网络和其他机器学习方法已经在自然语言处理领域取得了重要的进展。未来的发展方向包括更深入的...

    JSP&Servlet;学习笔记

    本书还涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。 本书在讲解的过程中,以“微博”项目贯穿全书,随着每一章的讲述都在适当的时候将JSP & Servlet技术应用于“微博...

    JSP_Servlet学习笔记(第2版)

    JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 本书针对Servlet3.0的新功能全面改版,无论章节架构...

    JSP & Servlet学习笔记(第2版)

    本书还涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。  本书在讲解的过程中,以“微博”项目贯穿全书,随着每一章的讲述都在适当的时候将JSP &Servlet技术应用于...

    JSP & Servlet学习笔记

    本书还涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。, 本书在讲解的过程中,以“微博”项目贯穿全书,随着每一章的讲述都在适当的时候将JSP & Servlet技术应用于...

    Pytorch、NLP学习笔记

    记录Pytorch、NLP学习笔记 NLP_indoor / 文本处理 tensorboard的使用 网络模型的保存与读取

    JSP&Servlet学习笔记.pdf

    本书还涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。  本书在讲解的过程中,以“微博”项目贯穿全书,随着每一章的讲述都在适当的时候将JSP & Servlet技术应用于...

    人工智能学习笔记人工智能学习笔记

    人工智能学习笔记 nlp大语言模型基础框架:——10.30 实体命名识别:10.30——11.5 1698669295418 医疗任务-多层级,多粒度测试:11.6——11.9 文本分类:11.6——11.18

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...

    python自然语言处理-学习笔记(三)之文本相似度计算-附件资源

    python自然语言处理-学习笔记(三)之文本相似度计算-附件资源

    机器学习笔记-Transformer

    Transformer语言模型是一种基于注意力机制的深度学习模型,它是在2017年由Google提出的,被广泛应用于自然语言处理领域。 Transformer模型主要由编码器和解码器组成,其中编码器将输入的文本序列转换为一组向量,...

    Shell脚本学习笔记

    第4章 处理用户输入与显示数据 76 4.1 命令行参数与特殊的参数变量 76 4.1.1 读取参数 76 4.1.2 读取程序名称 77 4.1.3 测试参数 77 4.1.4 参数计数 77 4.1.5 获取所有数据 78 4.2 移位与选项 79 4.2.1 移位 79 ...

    C++特征工程学习笔记.md

    接着,针对特征工程的不同方面,分别介绍了特征选择、特征转换、文本处理中的特征工程、图像处理中的特征工程以及时间序列分析中的特征工程。每个部分都伴随着示例代码,展示了不同情境下的特征工程实际操作。 适合...

Global site tag (gtag.js) - Google Analytics