python

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">写着玩的</span>


最近学习了下python  确实是一门比较好的脚本语言
主要学习的地方时廖雪峰的个人网站http://www.liaoxuefeng.com/  

python 和 java 语言有很多相似之处,以后坚持每天写一点。主要为了学习新语言,复习旧语言,两者同时进行的时候获取新的内容。

		System.out.println("harry------mian" + Thread.currentThread());
<span style="white-space:pre">		</span>Thread myThread = new Thread(new Runnable() {
<span style="white-space:pre">			</span>@Override
<span style="white-space:pre">			</span>public void run() {
<span style="white-space:pre">				</span>for(int i = 0;i < 5;i++){
<span style="white-space:pre">					</span>System.out.println("harry----myThread" + Thread.currentThread());
<span style="white-space:pre">					</span>try {
<span style="white-space:pre">						</span>Thread.sleep(1000);
<span style="white-space:pre">					</span>} catch (InterruptedException e) {
<span style="white-space:pre">						</span>e.printStackTrace();
<span style="white-space:pre">					</span>}
<span style="white-space:pre">				</span>}
<span style="white-space:pre">			</span>}
<span style="white-space:pre">		</span>});
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>myThread.start();

打印结果

harry------mianThread[main,5,main]
harry----myThreadThread[Thread-0,5,main]
harry----myThreadThread[Thread-0,5,main]
harry----myThreadThread[Thread-0,5,main]
harry----myThreadThread[Thread-0,5,main]
harry----myThreadThread[Thread-0,5,main]

java代码中  Thread是线程的集成类,创建线程就是new 出来一个Thread对象,开启线程是调用对象的start()方法,线程是为了执行内容的,内容就是线程体,java语言的线程体就是Runnable接口的实例

import time, threading

# 新线程执行的代码:
def loop():
    print 'thread %s is running...' % threading.current_thread().name
    n = 0
    while n < 5:
        n = n + 1
        print 'thread %s >>> %s' % (threading.current_thread().name, n)
        time.sleep(1)
    print 'thread %s ended.' % threading.current_thread().name

print 'thread %s is running...' % threading.current_thread().name
t = threading.Thread(target=loop, name='LoopThread')
t.start()
t.join()
print 'thread %s ended.' % threading.current_thread().name
上面是从廖雪峰官网拷贝过来的代码块儿。

首先是import   在java语言中也有import 不过通常在ide的帮助下,这东西几乎被忽略了。

然后定义了loop方法,这个相当于java中的 那个Runnable接口,python的面向对象做的更彻底些。

关键语句 

t= threading.Thread(target=loop,name='loopThread')

t.start()

t.join()

如果上面的java代码没有使用匿名内部类来实现线程体的内容这两块儿代码就更相似了。这里python调用了t.join() java代码只是调用了start这个方法,

、、、、疑问:调用join是什么意思?学艺不精啊,java线程都没搞通

多进程时变量都是自己享有的,不同进程间需要数据交换的话需要进行进程间通信

多线程变量是线程见共享的,这个是个好处,就是不需要通信了,坏处会出现同步问题。多个线程操作同一个变量会出现意想不到的结果。这个和数据库脏数据有类似的感觉。解决思路也是一样的,锁













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值