<commit_before>package main

import (
	"fmt"
)

// send "x" to channel c
func routineX(c chan string, done chan bool) {
	for {
		select {
		case c <- "x":
		case <-done:
			return
		}
	}
}

// send "o" to channel c
func routineO(c chan string, done chan bool) {
	for {
		select {
		case c <- "o":
		case <-done:
			return
		}
	}
}

func main() {

	strCh := make(chan string) // create a string channel
	doneCh := make(chan bool)

	go routineX(strCh, doneCh)
	go routineO(strCh, doneCh)

	// print time
	for i := 1; i <= 10; i++ {
		go fmt.Printf("%s", <-strCh)
	}
	for k := 1; k <= 10; k++ {
		go fmt.Printf("%s", <-strCh)
	}

	defer fmt.Printf("\n")

}<commit_msg>update concurrency2<commit_after>package main

import (
	"fmt"
)

// send "x" to channel c
func routineX(c chan string) {
	for {
		c <- "x"
	}
}

// send "o" to channel c
func routineO(c chan string) {
	for {
		c <- "o"
	}
}

func main() {

	strCh := make(chan string) // create a string channel

	go routineX(strCh)
	go routineO(strCh)

	// print time
	for i := 1; i <= 10; i++ {
		go fmt.Printf("%s", <-strCh)
	}
	for j := 1; j <= 10; j++ {
		go fmt.Printf("%s", <-strCh)
	}

	fmt.Printf("\n")

}
{'fraction_non_alphanumeric': 0.18056749785038692, 'fraction_numerical': 0.01117798796216681, 'mean_word_length': 2.6375, 'pattern_counts': {'":': 2, '<': 17, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4310805', 'n_tokens_mistral': 533, 'n_tokens_neox': 483, 'n_words': 147}