• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            開源之路

            憶往昔, 項羽不過江. 江東好風光! 今振臂一呼,率甲三千, 試問天!
            posts - 86, comments - 55, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            UDP協議相比TCP要簡單許多,雖然數據無法保證完整性.
            先看一下client端的演示代碼:

            import socket
            s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
            port = 8000
            host = '192.168.1.102'
            while True:
              ...

            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/36597361.html

            posted @ 2009-03-15 19:26 江邊之鳥 閱讀(1500) | 評論 (0)編輯 收藏

            現在網絡上的博客搬家服務,博客搬家工具越來越多,博客聯盟大概收集了下,希望對那些想搬家的博客有所幫助。

            一、和訊博客的“搬家公司”提供博客搬家服務 搬家服務地址:點這里

            目標對象:新浪博客、搜狐博客、網易部落、TOM博客、MSN Space、天涯社區、中國博客網、中華部落閣、博客中國、博客中國專欄、DoNews、歪酷博客、敏思博客、BlogBUS、BlogDrive、百度空間、mop博客。

            服務特色:該ID下博客文章、鏈...

            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/35992729.html

            posted @ 2009-03-03 15:04 江邊之鳥 閱讀(812) | 評論 (0)編輯 收藏

            現在找工作的事情,基本上集中在三點了.一是華為,現在基本已經定下來了,但是華為的管理相當嚴格,是唯一顧忌的事情;二是盛大,說是面試已通過,正在進行崗位評定,可能還需要過去一次.不過這里面用delphi作開發.三是一家新加坡公司,各方面都不錯,而且可以直接從管理層做起,就等一個命題做完就可以了.但是卻一直沒有音訊.從下周周一,一定要開始工作啊.不能再等了,老婆孩子兩張口,可是一直等著呢.


            隨機文章:

            奇怪的消息 2009-03-03
            C,Very Good 2007-03-07

            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/35989096.html

            posted @ 2009-03-03 13:37 江邊之鳥 閱讀(636) | 評論 (0)編輯 收藏

            safari 4出來了,和3.x版本相比,從界面上看,有比較大的改變.有點像是chrome的感覺.因為和chrome都在使用webkit引擎,可以用來作為備選瀏覽器.


            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/35942064.html

            posted @ 2009-03-02 13:20 江邊之鳥 閱讀(619) | 評論 (0)編輯 收藏

            版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明
            http://bangzhuzhongxin.blogbus.com/logs/24030921.html

            Windows Live Writer是一款免費的桌面應用程序,您可以使用它在Blog中輕松發布豐富內容。通過它,您能夠在本地電腦中撰寫、發布、管理日志,您可前往http://get.live.com/writer/overview下載這款軟件。

            目前Bl...

            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/35937634.html

            posted @ 2009-03-02 12:21 江邊之鳥 閱讀(998) | 評論 (0)編輯 收藏

            live writer功能非常強大,應該讓他來做更多的事情.


            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/35937584.html

            posted @ 2009-03-02 12:20 江邊之鳥 閱讀(675) | 評論 (0)編輯 收藏

            今天的好看簿好像出問題了,總是無法提交內容,真是讓人郁悶。blogbus看起來是不錯的東西,好像總部在杭州,搬家功能讓人喜歡。


            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/35898677.html

            posted @ 2009-03-01 14:21 江邊之鳥 閱讀(526) | 評論 (0)編輯 收藏

            今天兒子隨著他的媽媽從西安到杭州過來,這是他媽媽在火車上給他拍的照片,頭發長的挺快的,小家伙做的也很穩當。親愛的寶貝,明天爸爸就可以見到你了,嗚哦!




            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/35859794.html

            posted @ 2009-02-28 17:43 江邊之鳥 閱讀(451) | 評論 (0)編輯 收藏



            收藏到:Del.icio.us





            文章來源:http://riverbird.blogbus.com/logs/35860313.html

            posted @ 2008-11-12 00:56 江邊之鳥 閱讀(444) | 評論 (0)編輯 收藏

            python是支持多線程的,并且是native的線程。主要是通過thread和threading這兩個模塊來實現的。thread是比較底層的模 塊,threading是對thread做了一些包裝的,可以更加方便的被使用。這里需要提一下的是python對線程的支持還不夠完善,不能利用多 CPU,但是下個版本的python中已經考慮改進這點,讓我們拭目以待吧。
                threading模塊里面主要是對一些線程的操作對象化了,創建了叫Thread的class。一般來說,使用線程有兩種模式,一種是創建線程要執行的 函數,把這個函數傳遞進Thread對象里,讓它來執行;另一種是直接從Thread繼承,創建一個新的class,把線程執行的代碼放到這個新的 class里。我們來看看這兩種做法吧。

            #-*- encoding: gb2312 -*-
            import string, threading, time

            def thread_main(a):
                
            global count, mutex
                
            # 獲得線程名
                threadname = threading.currentThread().getName()
                
                
            for x in xrange(0, int(a)):
                    
            # 取得鎖
                    mutex.acquire()
                    count 
            = count + 1
                    
            # 釋放鎖
                    mutex.release()
                    
            print threadname, x, count
                    time.sleep(
            1)
                
            def main(num):
                
            global count, mutex
                threads 
            = []
                
                count 
            = 1
                
            # 創建一個鎖
                mutex = threading.Lock()
                
            # 先創建線程對象
                for x in xrange(0, num):
                    threads.append(threading.Thread(target
            =thread_main, args=(10,)))
                
            # 啟動所有線程
                for t in threads:
                    t.start()
                
            # 主線程中等待所有子線程退出
                for t in threads:
                    t.join()  
                
                
            if __name__ == '__main__':
                num 
            = 4
                
            # 創建4個線程
                main(4)

            上面的就是第一種做法,這種做法是很常見的,下面是另一種,曾經使用過Java的朋友應該很熟悉這種模式:

            #-*- encoding: gb2312 -*-
            import threading
            import time

            class Test(threading.Thread):
                
            def __init__(self, num):
                    threading.Thread.
            __init__(self)
                    self._run_num 
            = num
                
                
            def run(self):
                    
            global count, mutex
                    threadname 
            = threading.currentThread().getName()
                
                    
            for x in xrange(0, int(self._run_num)):
                        mutex.acquire()
                        count 
            = count + 1
                        mutex.release()
                        
            print threadname, x, count
                        time.sleep(
            1)

            if __name__ == '__main__':
                
            global count, mutex
                threads 
            = []
                num 
            = 4
                count 
            = 1
                
            # 創建鎖
                mutex = threading.Lock()
                
            # 創建線程對象
                for x in xrange(0, num):
                    threads.append(Test(
            10))
                
            # 啟動線程
                for t in threads:
                    t.start()
                
            # 等待子線程結束
                for t in threads:
                    t.join() 

            posted @ 2007-12-26 18:04 江邊之鳥 閱讀(10175) | 評論 (1)編輯 收藏

                 摘要:   閱讀全文

            posted @ 2007-12-26 17:54 江邊之鳥 閱讀(700) | 評論 (0)編輯 收藏

                 摘要:   閱讀全文

            posted @ 2007-12-26 17:35 江邊之鳥 閱讀(972) | 評論 (0)編輯 收藏

                 摘要:   閱讀全文

            posted @ 2007-12-26 17:34 江邊之鳥 閱讀(7346) | 評論 (2)編輯 收藏

                 摘要:   閱讀全文

            posted @ 2007-12-26 09:17 江邊之鳥 閱讀(1098) | 評論 (0)編輯 收藏

            如果我們想讓系統啟動的時候就執行某個程序,windows系統和unix系統是不一樣的,對于unix只需要將要執行的命令放到 rc.local中,系統重新啟動的時候就可以加載了。windows就麻煩多了,如果你將程序放到啟動組中,只有輸入了密碼后,程序才被執行,如果想在 系統一啟動的時候就執行程序,必須使用nt服務。
            python下如何使用nt服務,其實很簡單。
            下載python的win32支持。我使用的是:pywin32-202.win32-py2.3.exe安裝好后就可以來寫我們的服務了。
            我們先來建立一個空的服務,建立test1.py這個文件,并寫入如下代碼:

            # -*- coding: cp936 -*-
            import win32serviceutil
            import win32service
            import win32event

            class test1(win32serviceutil.ServiceFramework):
                _svc_name_ = "test_python"
                _svc_display_name_ = "test_python"
                def __init__(self, args):
                    win32serviceutil.ServiceFramework.__init__(self, args)



                    self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)

                def SvcStop(self):
                    # 先告訴SCM停止這個過程
                    self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
                    # 設置事件
                    win32event.SetEvent(self.hWaitStop)

                def SvcDoRun(self):
                    # 等待服務被停止
                    win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)

            if __name__=='__main__':
                win32serviceutil.HandleCommandLine(test1)

            這里注意,如果你需要更改文件名,比如將win32serviceutil.HandleCommandLine(test1)中的test1更改為你的文件名,同時class也需要和你的文件名一致,否則會出現服務不能啟動的問題。
            在命令窗口執行,test1.py可以看到幫助提示

            C:\>test1.py
            Usage: 'test1.py [options] install|update|remove|start [...]|stop|restart [...]|
            debug [...]'
            Options for 'install' and 'update' commands only:
             --username domain\username : The Username the service is to run under
             --password password : The password for the username
             --startup [manual|auto|disabled] : How the service starts, default = manual
             --interactive : Allow the service to interact with the desktop.

            C:\>

            安裝我們的服務

            [code:1:05b7353f1c]C:\>test1.py install
            Installing service test_python to Python class C:\test1.test1
            Service installed

            C:\>

            我們就可以用命令或者在控制面板-》管理工具-》服務中管理我們的服務了。在服務里面可以看到test_python這個服務,雖然這個服務什么都不做,但能啟動和停止他。

            posted @ 2007-12-25 15:12 江邊之鳥 閱讀(3877) | 評論 (0)編輯 收藏

            僅列出標題
            共6頁: 1 2 3 4 5 6 
            国产高清美女一级a毛片久久w | 久久不见久久见免费视频7| 色青青草原桃花久久综合| 一本色道久久综合| 香蕉久久av一区二区三区| 久久久久亚洲av综合波多野结衣 | 久久久精品久久久久影院| 18岁日韩内射颜射午夜久久成人 | 99久久久精品免费观看国产| 99久久国产综合精品成人影院| 人人狠狠综合88综合久久| 亚洲AV无码一区东京热久久| 久久青青草原精品影院| 偷窥少妇久久久久久久久| 国产成人无码精品久久久久免费| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 精品一区二区久久久久久久网站| 久久996热精品xxxx| 91精品国产综合久久精品| 思思久久好好热精品国产| 99久久国产热无码精品免费久久久久| 亚洲精品tv久久久久| 一本久久a久久精品综合夜夜| 亚洲国产精品无码久久| 亚洲乱码精品久久久久..| 一本久道久久综合狠狠躁AV| 久久91精品国产91久久小草| 国产精品久久久久久| 青青青青久久精品国产h| 久久夜色精品国产亚洲| 久久国产精品-国产精品| 久久精品国内一区二区三区| 精品久久久久久无码专区不卡| 人妻少妇久久中文字幕| 美女写真久久影院| 久久一区二区免费播放| 色综合久久夜色精品国产| 亚洲国产另类久久久精品黑人 | 97久久天天综合色天天综合色hd | 亚洲精品乱码久久久久久蜜桃图片| 久久国产欧美日韩精品|