程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java和c/c++ 數據類型長度的比擬

java和c/c++ 數據類型長度的比擬

編輯:關於JAVA

java和c/c++ 數據類型長度的比擬。本站提示廣大學習愛好者:(java和c/c++ 數據類型長度的比擬)文章只能為提供參考,不一定能成為您想要的結果。以下是java和c/c++ 數據類型長度的比擬正文


1、概念引見

Thread 是threading模塊中最主要的類之一,可使用它來創立線程。有兩種方法來創立線程:一種是經由過程繼續Thread類,重寫它的run辦法;另外一種是創立一個threading.Thread對象,在它的初始化函數(__init__)中將可挪用對象作為參數傳入.
Thread模塊是比擬底層的模塊,Threading模塊是對Thread做了一些包裝的,可以加倍便利的被應用。
別的在任務時,有時須要讓多條敕令並發的履行, 而不是次序履行。

2、代碼樣例

#!/usr/bin/python
# encoding=utf-8
# Filename: thread-extends-class.py
# 直接從Thread繼續,創立一個新的class,把線程履行的代碼放到這個新的 class裡
import threading
import time
 
class ThreadImpl(threading.Thread):
 def __init__(self, num):
  threading.Thread.__init__(self)
  self._num = num
 
 def run(self):
  global total, mutex
  
  # 打印線程名
  print threading.currentThread().getName()
 
  for x in xrange(0, int(self._num)):
   # 獲得鎖
   mutex.acquire()
   total = total + 1
   # 釋放鎖
   mutex.release()
 
if __name__ == '__main__':
 #界說全局變量
 global total, mutex
 total = 0
 # 創立鎖
 mutex = threading.Lock()
 
 #界說線程池
 threads = []
 # 創立線程對象
 for x in xrange(0, 40):
  threads.append(ThreadImpl(100))
 # 啟動線程
 for t in threads:
  t.start()
 # 期待子線程停止
 for t in threads:
  t.join() 
 
 # 打印履行成果
 print total

#!/usr/bin/python
# encoding=utf-8
# Filename: thread-function.py
# 創立線程要履行的函數,把這個函數傳遞進Thread對象裡,讓它來履行

import threading
import time
 
def threadFunc(num):
 global total, mutex
 
 # 打印線程名
 print threading.currentThread().getName()
 
 for x in xrange(0, int(num)):
  # 獲得鎖
  mutex.acquire()
  total = total + 1
  # 釋放鎖
  mutex.release()
 
def main(num):
 #界說全局變量
 global total, mutex
 total = 0
 # 創立鎖
 mutex = threading.Lock()
 
 #界說線程池
 threads = []
 # 先創立線程對象
 for x in xrange(0, num):
  threads.append(threading.Thread(target=threadFunc, args=(100,)))
 # 啟動一切線程
 for t in threads:
  t.start()
 # 主線程中期待一切子線程加入
 for t in threads:
  t.join() 
  
 # 打印履行成果
 print total
 
 
if __name__ == '__main__':
 # 創立40個線程
 main(40)
#!/usr/bin/python
# encoding=utf-8
# Filename: put_files_hdfs.py
# 讓多條敕令並發履行,如讓多條scp,ftp,hdfs上傳敕令並發履行,進步法式運轉效力
import datetime
import os
import threading

def execCmd(cmd):
 try:
  print "敕令%s開端運轉%s" % (cmd,datetime.datetime.now())
  os.system(cmd)
  print "敕令%s停止運轉%s" % (cmd,datetime.datetime.now())
 except Exception, e:
  print '%s\t 運轉掉敗,掉敗緣由\r\n%s' % (cmd,e)

if __name__ == '__main__':
 # 須要履行的敕令列表
 cmds = ['ls /root',
    'pwd',]
 
 #線程池
 threads = []
 
 print "法式開端運轉%s" % datetime.datetime.now()

 for cmd in cmds:
  th = threading.Thread(target=execCmd, args=(cmd,))
  th.start()
  threads.append(th)
   
 # 期待線程運轉終了
 for th in threads:
  th.join()
   
 print "法式停止運轉%s" % datetime.datetime.now()

以上就是本文的全體內容,願望對年夜家進修python法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved