[Çözüldü] Queue dongu sorunu

Başlatan ahmet12, 15 Aralık 2017 - 23:59:29

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ahmet12

en basitten olusturuyorum

import
import Queue
q=Queue.Queue()
for i in range (10):
    q.put(i)
while not q.empty():
    print q.get(); end=' '

burada sira sira ne varsa aliyoruz yapmak istedigim

while True:
    print q.get()
gibi dongu icinde hep en bastan hep sira ile vermesi

bole deyincede bir sefer listeyi veriyor elinde eleman kalmadigindan vermiyor



program donuk duruyor.
misal
while True:
    for i in range(4):
        print i
bu islemi queue ile yapmak
cevaplarinizi bekliyorum simdiden tesekkurler
   

.py

Alıntı yapılan: ahmet12 - 15 Aralık 2017 - 23:59:29
program donuk duruyor.

Sonsuz döngüye sokuyorsun o yüzden donuk olabilir mi?

ahmet12

sonsuz dongude oldugundan degil
queue eklentisini arastir biraz yazmadan once calisma mantigini falan
sonsuz dongude donmasinin nedeni dongu degil listeyi basa alamamasidir.

.py

ben while den bahsediyorum Queue dan değil! kod algoritması yanlış while true diyerek sonsuz döngüye giriyorsun altında for çalıştırıyorsun. queue modülünü çok iyi biliyrum sen ne yapmak istiyorsun önce onu söyle.

ahmet12

o kadar yazdim bi daha yazayim
sonsuz dongude queue calistirmak
/ queue ile elindeki listeyi tamamladiktan sonra basa donup tekrar etmesi

.py

Bizde çözüm tükenmez.

Başka bir yolla yazdım.. Eğer doğru anladıysam böyle * bir şey yapmaya çalışıyorsun.


import time
sayi =range(9)
j = 0
while True:
    time.sleep(1)
    print sayi[j]
    if j is len(sayi)-1: j=-1
    j=j+1

ahmet12

#6
soyle bi dosya var
import Queue
q=queue.queue()
def oku():
    dosy=open("dosya.txt","r").readlines()
    for i in dosya:
        duzen=i.replace("\n","")
        q.put(duzen)
def veri():
    q.get()
while true:
    veri()
bu q yu senin yaptigin gibi listeyi hep donguye sokmak -----
maksat bu degiskeni baska bi fonsiyonda kullanip o fonksiyonida
thereading ile calistirip en sonda bu queue yi  sinirsiz donguye sokup
calismasini saglamak
senin yaptigin yolda ben tek tek veri cekemem

ahmet12

sorunu soyle astim ama saglikli olmadi
veri cektikten sonra tekrar queue ne ekleme yaptim
boylelikle liste kendi arasinda donup durdu
fakat sorun surada basladi :D 4 saat falan calistiracaksaniz sakin denemeyin
yoksa liste fena sisiyor ve ramde nefes alacak yer kalmiyor
queue biraz maksadi disinda kullanmak istedim okadar